<SEC-DOCUMENT>0001558370-23-019517.txt : 20231206
<SEC-HEADER>0001558370-23-019517.hdr.sgml : 20231206
<ACCEPTANCE-DATETIME>20231206162047
ACCESSION NUMBER:		0001558370-23-019517
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		83
CONFORMED PERIOD OF REPORT:	20231031
FILED AS OF DATE:		20231206
DATE AS OF CHANGE:		20231206

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:		231469848

	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
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>agx-20231031x10q.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version='1.0' encoding='UTF-8'?>

      <!-- iXBRL document created with: Toppan Merrill Bridge iXBRL 10.4.0.13 -->
      <!-- Based on: iXBRL 1.1 -->
      <!-- Created on: 12/6/2023 9:02:40 PM -->
      <!-- iXBRL Library version: 1.0.8630.22539 -->
      <!-- iXBRL Service Job ID: 9657731b-64f3-412d-a4e3-01450e51c4b2 -->

  <html xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:srt="http://fasb.org/srt/2023" xmlns:agx="http://www.arganinc.com/20231031" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns="http://www.w3.org/1999/xhtml" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:xbrldi="http://xbrl.org/2006/xbrldi"><head><meta content="text/html" http-equiv="content-type" /><title></title></head><body><div style="margin-top:30pt;"></div><div style="display:none;"><ix:header><ix:hidden><ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" xs:nil="true" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" name="us-gaap:CommitmentsAndContingencies" id="Hidden_bPIDy-jdkk6WB8dRjD3P6Q"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" xs:nil="true" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" name="us-gaap:CommitmentsAndContingencies" id="Hidden_mqQGJdW0rkCLvBZcms103w"></ix:nonFraction><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:EntityCentralIndexKey" id="Tc_0ZdHnm3_MEyAhgAAcx_GMg_2_1">0000100591</ix:nonNumeric><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:CurrentFiscalYearEndDate" id="Tc_KNaaP-anN0-kQWU28-kzxA_3_1">--01-31</ix:nonNumeric><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:DocumentFiscalYearFocus" id="Tc_ZZ1QKEaxIUCecCrlfJ0djQ_4_1">2024</ix:nonNumeric><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:DocumentFiscalPeriodFocus" id="Tc_tpGGlM0Bm0i3WmfSt94-1w_5_1">Q3</ix:nonNumeric><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:AmendmentFlag" id="Tc_e8LCBpi0hEiS8-_PdMx_XQ_6_1">false</ix:nonNumeric><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:EntityRegistrantName" id="Tc_qm2rt1dFe0GbhBbDCuKZlA_7_1">ARGAN INC</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="INF" name="us-gaap:PreferredStockSharesIssued" id="Hidden_mz2mR-Z6mkWcwKOuXwwM9Q">0</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="INF" name="us-gaap:PreferredStockSharesIssued" id="Hidden_HB2q93v30Eaj8uLJ7-2EfA">0</ix:nonFraction><ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_4_1_2022_To_4_30_2022_mS8MqF6Glk6f8g2IAB3FHg" decimals="2" name="us-gaap:CommonStockDividendsPerShareCashPaid" id="Hidden_McNSxPoppUS_VrtAMcUioQ">0.25</ix:nonFraction><ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_7_1_2022_To_7_31_2022_Atn2q8yadU2CQyw9NCr0KA" decimals="2" name="us-gaap:CommonStockDividendsPerShareCashPaid" id="Hidden_ZXpUVBs_V0Op9k1OGzXLKw">0.25</ix:nonFraction><ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_10_1_2022_To_10_31_2022_L6xtYAOF-k-hp2aMoibbCw" decimals="2" name="us-gaap:CommonStockDividendsPerShareCashPaid" id="Hidden__0fwpMHltkK4KFsXTq08xQ">0.25</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" xs:nil="true" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" name="us-gaap:PreferredStockValue" id="Hidden_HEPGc3MU_EiwuPKPJ1at0A"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" xs:nil="true" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" name="us-gaap:PreferredStockValue" id="Hidden_f38CkcwZlECc6gsMBLs64w"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="INF" name="us-gaap:CommonStockSharesIssued" id="Hidden_u5l49B9upUCBRP8PyPdfrw">15828289</ix:nonFraction><ix:nonNumeric contextRef="As_Of_10_31_2023_srt_RangeAxis_srt_MinimumMember_eAKlOHlg00GJ1Jdpb0XT_A" name="us-gaap:DebtSecuritiesAvailableForSaleTerm" id="Hidden_orIKaN3q4UiNEKA6QCAiFA">P2Y</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" name="us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList" id="Hidden_VUj7GkZRd0aiWjArR6w1hw">http://fasb.org/us-gaap/2023#Investments</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="Hidden_qWc9YZ_6xkerbBuXoOIA4w">http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" name="us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" id="Hidden_iqQwAB-AiEed2DHu2UYUkQ">http://fasb.org/us-gaap/2023#LiabilitiesNoncurrent</ix:nonNumeric><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_srt_RangeAxis_srt_MinimumMember_r8zAn4KPVk6BZauT13M75A" name="agx:WarrantyPeriodForConstructionContracts" id="Hidden_gMBAheEq_kOzx0KxveqGYw">P9M</ix:nonNumeric><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_srt_RangeAxis_srt_MaximumMember_R83E7ETSDkaHhVaQZSNSbw" name="agx:WarrantyPeriodForConstructionContracts" id="Hidden_I7q3rmom0067CqYEeBSZVA">P24M</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_-7wxLOTIyEuICMl6UtYKxA" decimals="4" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" id="Hidden_Mr14uOmysEucC82tsWJH9g">0.3333</ix:nonFraction><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_-7wxLOTIyEuICMl6UtYKxA" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Hidden_Uk_dwLKzMEGjcw8lOl7pTQ">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_srt_RangeAxis_srt_MinimumMember_r8zAn4KPVk6BZauT13M75A" name="agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices" id="Hidden_Trjnt_zL3kmpBU4lMTu6kg">P3Y</ix:nonNumeric><ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_10_31_2023_To_10_31_2023_eZng51bBpUu8xeYOMx4RMw" decimals="2" name="us-gaap:CommonStockDividendsPerShareCashPaid" id="Hidden_Ajgz7_ecxkKV3UHC2MTVfw">0.25</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" id="Hidden_hjEpon2EBUa5fTiijqbvbQ">8467000</ix:nonFraction></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="agx-20231031.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="Duration_2_1_2023_To_10_31_2023_us-gaap_UnusualOrInfrequentItemAxis_agx_FraudulentlyInducedPaymentMember_4I0cyeJLeky2ImXpHaBYzA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:UnusualOrInfrequentItemAxis">agx:FraudulentlyInducedPaymentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_HgkAd9W1qk6RZJjm8x8hQA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_nNK_0ERsZU63dbCyeQxvow"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XN9bK6dAkka2r1d5RoS07A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_aYX5nFlsDEKic34oPzr_JQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_R97tOVX3DE2ZjYeZb7gVdg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_aHf7UIyBWUWuDbGCe9gEHg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_BE3g4AKCT0icD4KhcQCv3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_PBr3LQocCU6WC4gEpDjsUg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_QhTsDPL5t0SWTGIxy8Ht6g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_5iFVEnJkx0GzuofOu5o79A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_aGbh1bV5UkqsEcK4wEug5w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_531BwNfWbUu4tAuty15tdw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_vJ5knMgynkiv8oWip4CvDQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_qFyir8uYOU-kZ3aTgQFgcA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_9RfXlsf7v0muo5HloLjuJQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jl2B1pgEKk-AsAFnhTN28w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_31_2023_wl-fNqtJdEyoUfXB2G25LQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_bRPCh68zykKMeAIqa8gu3w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_R_YY9W08wU2hasdEbu810Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_CXZrrzm7gUWTxo-HJttZUw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_AGdXlZfrJEah56jQv88OYA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_zOEnqhzLKEmHSGIZBQSRiQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_QfKSuPoU6E6XyK8ASCpcqA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_KG7MHJWDkUyAB4swVjh1-Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_6gOBTZKko02Ut2etGC5Hrw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_w6QI7NDGwUy31pw-umbGNg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_UzQBSB05RkCpQOemQrkifw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_hlKzzz6jekW8XZtcseTyaw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_dPAGrK4oo0GoskK-sKNkJA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_7ZNwO8v12kaojq7ftRcJBg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Xg36O4FdwUeYP_GsDqxyqw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_31_2022_RZh5LLLEkUG-pI2c73VcpA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_43CEeQDn9kynfTIsOlHFvQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_aRTlo58Ugkq6dFtmXgzEZQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_VxbfDfgo6kGGriKZ9jbB7w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_fQ78v0oJMEKfDSnep2hWpA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_t2rXN_gRN0-7ich39duFsg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_t4iJcNnERUimZvDBLpfq0g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_1rieYgy7p0iw7fLcp1PRQw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_wVsDYo091kefNR8StzQ4GA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nHF-Tvbu1EGfRzcjf3ZqLw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_OFHmxPc070GZY-KEZeH80g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cULSIC17AkCREkFgFtRGCQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_1_31_2023_I-QeavC5_Uic4XGNNmm6bA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2023-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_agx_IncentiveStockOptionsMember_us-gaap_PlanNameAxis_agx_StockPlanMember_Zes_lVAzAUWHA1JwelBujA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:IncentiveStockOptionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">agx:StockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_X54GfyMLg0C3LIarZOyNOw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_aRue0zOfp0GnMgOX2ckfuw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_zA47Crc9X02F3o2gCvoF0w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_-7wxLOTIyEuICMl6UtYKxA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_agx_cnst_date_20231101_f0dFuGrR1EWi8R0HXFKP2A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-11-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_US_JM0zl5FnBEi9X8k6zzP9dw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_IE_xieRSBauK02EwwzpwPmtWw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_GB_OdAfCNas7keHP5KsiWR5kQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_US_Lg3OB5LTFkKvZTY_syzI0Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_IE_qQplgu3MBU-s796Wqo4PoQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_GB_XOkIYnM2c0CuFGGfLPrn8g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_US_Jy0x8AOi5EeHztHQfrachQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_IE_kqPcWlDgtU20eUhhIXiAag"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_GB_adAO0Qpb00e5py96y3qITA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_US_fp92KtoXAEmdLGBx0kF9iw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_IE_JWa78aVVikSfpr7XPPFPBA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_GB_dquM4aXBwEOb5ybWMRMWxA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_DM4hBJK85Uabq0jtOtqYsQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_6cfMBLpg_k6iZ-tf2YJ9FA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_BOZkbGhTSU66xSVInXn-lA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Zy415mdycka3Tzzrd9ZXXQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_6_2023_srt_StatementScenarioAxis_agx_LettersOfCreditExpireOnMay312024Member_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_LV0LBuop5k-Wzwb2XVeLSQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">agx:LettersOfCreditExpireOnMay312024Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-06</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LetterOfCreditMember_hfbu22JiBkm1BkT7VQpHQA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LetterOfCreditMember_ETIbmSfZ_0OoqXYoRZcPXg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_vcJKnDFBJUWrImj4VKR5mg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherNonoperatingIncomeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_CVUExyfEu0ihiZ_gTTCtMA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherNonoperatingIncomeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_pVvz3-u7VEaOeqWx3DEYhw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherNonoperatingIncomeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_E3hAogTyqEmHN_FQY-NHlA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherNonoperatingIncomeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_BusinessAcquisitionAxis_agx_GemmaPowerSystemsMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_FDUayURBBkKT_dwK8-mBbQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">agx:GemmaPowerSystemsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">us-gaap:FinancialGuaranteeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_BusinessAcquisitionAxis_agx_RobertsCompanyIncMember__Zndj7C-hkiHrLpwFmDpQA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">agx:RobertsCompanyIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_BusinessAcquisitionAxis_agx_GemmaPowerSystemLlcMember_VMXL5qAKQEalXct2jNqK9w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">agx:GemmaPowerSystemLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2023_us-gaap_BusinessAcquisitionAxis_agx_RobertsCompanyIncMember_b5JYj9LV60acq2q7HafqoQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">agx:RobertsCompanyIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2023_us-gaap_BusinessAcquisitionAxis_agx_GemmaPowerSystemLlcMember_cYUscEt4dUGaU78UpSsK3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">agx:GemmaPowerSystemLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_Ne1FJ2isGUCt2uRTqLEhxw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_a8MarYEcc0C-NFJLBaWUBw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_sDlUVfDlNU2GpbVUMl0GJA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_2Uf418UqMESeH7TAys-GzQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_wbCCZPSvxkWC_OxdExpgyg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_24dXm-Mkg02xeXuBvPiELA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_GzEObMdRFk6TInF9m59IEg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_eenrnne7iUOizX1g7Hhw9g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_2gQcgtAOAU2tLT818DbZLg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_k5H1fVH6TEiPuox9CDHJDg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_qFGQqrhQ90mtJgXd2fI7Rw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_LGwCN6dECkSeVEpVwGfKVQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2021_AMfooaGhjEyDWkTzNl6KxQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_srt_RangeAxis_srt_MinimumMember_eAKlOHlg00GJ1Jdpb0XT_A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_srt_RangeAxis_srt_MaximumMember_smZDP0lTmU2mJKgDA-ww-A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_3_6_2023_To_3_6_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_dn5OlVQRX0GiM3t5vBk4Ew"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-03-06</xbrli:startDate><xbrli:endDate>2023-03-06</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:TelecommunicationsInfrastructureServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:TelecommunicationsInfrastructureServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_qpPZ-64MGUuQRM3WfG1w2w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerThreeMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_nnGeiuH5yEqMOv1jy2fH6A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerThreeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_0nodJzMte0WqkEfss4r00w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_TOFJYRCsZ0ax_sPugYpN-g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_IndustrialConstructionServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_D9x0R5OFgkWBriGhuA42_Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_QVmQjWGAQEiyJ4EmIsGrBA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerThreeMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_SC_qCYgMM0GHECWZidS6XQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerThreeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_DmW3_yXD0keQKcgPUINcBQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_34MMemZmqUekjfaI-dijoQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_4jyQyBOKOkWkJmXxlAMDYQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AssetsTotalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_4cvGZp4InUWJMSxOfwdemQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_9Tpyr7w9JEqm9CmnGIYCeg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AssetsTotalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_6FBvwBXLfESPvY3_xEm4Vw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_IndustrialConstructionServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_QJv13vgwAEuBb9nY5ofDvA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_TTpPjmyM3UO3bmebx9N5vA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerThreeMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_uA3eSQRV80a1DyYB3jBdtw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerThreeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_l3CwrdcD60arabrpdAWx-Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerFourMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_t6DLlDE3FESEj0IspBJW9w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerFourMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_QxaikJocsk-i_XGrAIagMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_IndustrialConstructionServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_b2E3ZdjNoEC8-fBnjJbqBg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_1_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Bgq30WwKoEyVLQ_Hnc7qqQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2023-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_1_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_zM_W8tsz80a6ZzIXW6pUFw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerThreeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2023-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_1_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_IPLz1CzhQEmHfD8E0Mm2Cg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AssetsTotalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2023-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_1_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember__sNLvg0oFEaJifoWDz25Fw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2023-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_bbnTfRbF5kSzfnhw2dFrmw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_AXM7UtxXwUCviabcBOhkZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_IndustrialConstructionServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_dvCPd1QR10-JJqKAwbT9CQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_19_2023_To_9_19_2023_P225MhbPHEKv_B83RaaMAg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-09-19</xbrli:startDate><xbrli:endDate>2023-09-19</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_18_2023_To_9_18_2023_g8t3fgSiKkuwPJBMXhR0-w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-09-18</xbrli:startDate><xbrli:endDate>2023-09-18</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2023_To_7_31_2023_Eie9zLwl00STBbUHvxa2vw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-07-01</xbrli:startDate><xbrli:endDate>2023-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_4_30_2023_HmFAs4ftaU-GBkq3IixcPQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_5_1_2022_To_7_31_2022_F97vAHt2cE2stAX7PqauuA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-05-01</xbrli:startDate><xbrli:endDate>2022-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_4_30_2022_30TDhKaaCE-W2jx2hHd2tQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-04-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_10_31_2023_To_10_31_2023_eZng51bBpUu8xeYOMx4RMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-31</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_10_1_2022_To_10_31_2022_L6xtYAOF-k-hp2aMoibbCw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2022_To_7_31_2022_Atn2q8yadU2CQyw9NCr0KA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-07-01</xbrli:startDate><xbrli:endDate>2022-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_4_30_2022_mS8MqF6Glk6f8g2IAB3FHg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-04-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_rEP8SaP03Ee5Fal16dt0-Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_20_2023_us-gaap_PlanNameAxis_agx_Plan2020Member_bJmwYxqUfEO6J7ioRlgNfQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">agx:Plan2020Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-20</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_23_2020_us-gaap_PlanNameAxis_agx_Plan2020Member_OZmzww4oUUyKOiQww01y5w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">agx:Plan2020Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-23</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2022_0L1krGcOzUK7J45Ax31K4Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_MoneyMarketFundsMember_N2vYUWT7yUOBs7l345GqUA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_MoneyMarketFundsMember_1xj-kM2W-kyCGBZzyvK1kA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_cJkE9UEetkadiXKJWJVOyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_DomesticCorporateDebtSecuritiesMember_PFbvV6whs0izkW7oLuWsag"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:DomesticCorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_lpGpOBowe0mPsFRsucdSAg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_ipRTsEGczUKt6yz_oAs3sA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_467ma05pu0yUZKnF0WQYKA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_4AE0uNKkakG4Sj9kA1BTKg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:TelecommunicationsInfrastructureServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_C7iIItZ2K0SkA10qUMh2-g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_joXSAgZ9hkqwVMYk9JYtXg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_SY7C-1jRW06vsOLX3_3ZaA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_yCSEoP9M-EapQq-dnwWWTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:TelecommunicationsInfrastructureServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Ne7C0d2hAUqp12hEB0RXhw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_g6tNsTHOZ0Kgn9AXhoZDyw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_Eo_94pCbHE2BEsUFrvUz2g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:TelecommunicationsInfrastructureServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:TelecommunicationsInfrastructureServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_8kWGF2pwP02JxsHVuibzTw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_diLB4mMMqU2D0ghsnddx2A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_A_pJS21yz0qtS-xUVQi8Eg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_7i4DcXVx0U2Y0RWJKzRFLQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_1_2023_xwq3pcoJakWNfviCYwtNLw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_CDdx1db0NUu3tvfK0SxEfg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InformationByCategoryOfDebtSecurityAxis">us-gaap:HeldtomaturitySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_sRfVZe-kZ0C3KtorDcgnmw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InformationByCategoryOfDebtSecurityAxis">us-gaap:HeldtomaturitySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_RangeAxis_srt_MinimumMember_r8zAn4KPVk6BZauT13M75A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_RangeAxis_srt_MaximumMember_R83E7ETSDkaHhVaQZSNSbw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_pmgV6BguZEidry-tZ7loyA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_TitleOfIndividualAxis_srt_ExecutiveOfficerMember_us-gaap_AwardTypeAxis_agx_PerformanceBasedRestrictedStockUnitsMember_us-gaap_PlanNameAxis_agx_StockPlanMember_o4GhG6ViKkWzIcpm9DcLiA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">agx:StockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_19_2023_gINSPJ0LeEi-tW4ncaLAkg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-09-19</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_AwardTypeAxis_agx_TimeBasedRestrictedStockUnitsMember_RHLT3gkQG0CFqCUKlX88XA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:TimeBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_AwardTypeAxis_agx_RenewablePerformanceBasedRestrictedStockUnitsMember_2Na8JWlL6kWoliHSXc-T5Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:RenewablePerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_AwardTypeAxis_agx_PerformanceBasedRestrictedStockUnitsMember_8MEXG9tC_0erje-pB6PdoA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_AwardTypeAxis_agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember_xXA4f-0QM0qUeO8XMuhlbg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:EarningsPerSharePerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2022_us-gaap_AwardTypeAxis_agx_TimeBasedRestrictedStockUnitsMember_OUFq_pYVE0KRvR8dQoVydg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:TimeBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2022_us-gaap_AwardTypeAxis_agx_RenewablePerformanceBasedRestrictedStockUnitsMember_NTY0GN1ypEeX9Hsa9ghdOg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:RenewablePerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2022_us-gaap_AwardTypeAxis_agx_PerformanceBasedRestrictedStockUnitsMember_eSM7ATnZpkek7QKGHZ4q6Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_PTYeN21aqUSfOconqjq98w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_QFXkOZwmR0Ct1C_VD7cQWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember__R95hML_HEmhwl3v-VzLMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AssetsTotalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_RP1OztK-wUmMTaKrIv5ODg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_LqcJtSiDsUCe02J-ydHsUg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_1_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_mfZeUc6bWE6JSCid6sOu9w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AssetsTotalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2023-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_1_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_s0-8b4_Lnkiyzwq89IUHGQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2023-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_hWwH3jPQpUCOQVKtkR5_mg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_3_6_2023_To_3_6_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_R0550NVAbUqttxkvrVTYKQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-03-06</xbrli:startDate><xbrli:endDate>2023-03-06</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_LKMIB-vZrUCVbq6S3eVMqA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InformationByCategoryOfDebtSecurityAxis">us-gaap:HeldtomaturitySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_1_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_qdl4QKRup0KHvUVIVAk4NQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InformationByCategoryOfDebtSecurityAxis">us-gaap:HeldtomaturitySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2023-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_dei_LegalEntityAxis_agx_AtlanticProjectsCompanyLimitedMember_srt_ProductOrServiceAxis_agx_KilrootProjectMember_HDUER1KQ1EiAeqUqsbpE0g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">agx:AtlanticProjectsCompanyLimitedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:KilrootProjectMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2023_To_10_31_2023_dei_LegalEntityAxis_agx_AtlanticProjectsCompanyLimitedMember_srt_ProductOrServiceAxis_agx_KilrootProjectMember_4JFEAsBveUK8evsJo9TzLA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">agx:AtlanticProjectsCompanyLimitedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:KilrootProjectMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-08-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2020_oh5ZOlOA8EG28vpw37cNGQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_DomesticCorporateDebtSecuritiesMember_uFu6VIXzx0eukHqLarGEsw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:DomesticCorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasuryNotesSecuritiesMember_-mfNXL6ipUeTey3s--JCTQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryNotesSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000100591</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q"><xbrli:measure>agx:customer</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:unit id="Unit_Standard_segment_Qf-wPLAT-Uq_WKTfPWnY7g"><xbrli:measure>agx:segment</xbrli:measure></xbrli:unit></ix:resources></ix:header></div><div style="max-width:100%;padding-left:4.47%;padding-right:4.47%;position:relative;"><div style="clear:both;max-width:100%;position:relative;min-height:48.04pt;"><a id="_b28c6591_0b9c_4a0a_a171_3eda0dfce5f0"></a><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:1pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1pt;padding-bottom:1pt;padding-top:1pt;text-align:center;border-bottom:1px solid #000000;border-top:3.0pt solid #000000;margin:0pt;"><span style="font-size:1pt;font-weight:bold;line-height:1.19;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-family:'Times New Roman Bold';font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:17pt;font-weight:bold;">UNITED STATES </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:17pt;font-weight:bold;">SECURITIES AND EXCHANGE COMMISSION </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Washington, D.C. 20549 </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:6.0pt;text-align:center;margin:0pt;"><span style="font-size:6pt;line-height:1.19;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:17pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">FORM </b><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:DocumentType" id="Narr_JMB0yHZl90i8JgWKw1jzoA"><b style="font-weight:bold;">10-Q</b></ix:nonNumeric></p><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:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">(Mark One)</p><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:6pt;visibility:hidden;">&#8203;</span></p><a id="_d5367529_91c8_4249_add6_0cb50e24f689"></a><a id="Tc_LYDO443TkU6kNuoyW9xUaA_1_1"></a><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:4.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%;"></div></div></td><td style="vertical-align:bottom;width:95.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%;"></div></div></td></tr><tr><td style="vertical-align:bottom;width:4.03%;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;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:DocumentQuarterlyReport" id="Tc_GlvqGxAVBESoCBLuMULAQA_1_0"><span style="font-family:'Segoe UI Symbol';">&#9745;</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;width:95.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;">QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(D) OF THE SECURITIES EXCHANGE ACT OF 1934</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;">For the Quarterly Period Ended </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><ix:nonNumeric format="ixt:datemonthdayyearen" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:DocumentPeriodEndDate" id="Narr_JVlbYu0zgki-008ZUDsokQ">October 31, 2023</ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Times New Roman Bold';font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;">or</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_785b53c6_190e_4e40_a36f_83668a360afc"></a><a id="Tc_JKFf_6eHBUeLSQYfk-mluw_1_1"></a><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:top;width:4%;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;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:95.99%;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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:middle;width:4%;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;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:DocumentTransitionReport" id="Tc_sp8ZzYmllUGELHcv5d_m3w_1_0"><span style="font-family:'Segoe UI Symbol';">&#9744;</span></ix:nonNumeric></p></td><td style="vertical-align:middle;width:95.99%;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;">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(D) OF THE SECURITIES EXCHANGE ACT</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">For the Transition Period from &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; to &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Times New Roman Bold';font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:9pt;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Commission File Number </b><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:EntityFileNumber" id="Narr_9-e9N87oDU2DiBhi4LqbvQ"><b style="font-size:9pt;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">001-31756</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><img src="agx-20231031x10q001.jpg" alt="Graphic" style="display:inline-block;height:47.99pt;left:0%;padding-bottom:0.05pt;position:relative;top:0pt;width:95.98pt;" /></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">(Exact Name of Registrant as Specified in Its Charter) </p><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:6pt;visibility:hidden;">&#8203;</span></p><a id="_89783dd9_9290_4ccc_9448_1b6d095b651e"></a><a id="Tc_wzBJ-kRC7UOM0oycHoorVg_2_0"></a><a id="Tc_0NBYx7qK8E-2PtykHqyidg_2_2"></a><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:49.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%;"></div></div></td><td style="vertical-align:top;width:2.42%;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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:48.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%;"></div></div></td></tr><tr><td style="vertical-align:bottom;width:49.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:center;margin:0pt;"><ix:nonNumeric format="ixt-sec:stateprovnameen" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:EntityIncorporationStateCountryCode" id="Tc_DW0TREhpkU-Vm6aMwi1IcQ_1_0"><b style="font-size:9pt;font-weight:bold;">Delaware</b></ix:nonNumeric></p></td><td style="vertical-align:top;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:48.32%;border-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:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:EntityTaxIdentificationNumber" id="Tc_YzPTrfpxCEO-7mp_jZhqJQ_1_2"><b style="font-size:9pt;font-weight:bold;">13-1947195</b></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:bottom;width:49.25%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">(State or Other Jurisdiction of Incorporation)</p></td><td style="vertical-align:top;width:2.42%;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:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:48.32%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">(I.R.S. Employer Identification No.)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:EntityAddressAddressLine1" id="Narr_fls9hk0Z-0iBS8iI36UhNQ"><b style="font-size:9pt;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">One Church Street, Suite 201</b></ix:nonNumeric><b style="font-size:9pt;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">, </b><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:EntityAddressCityOrTown" id="Narr_2iB8rB748EyVbJawlVnTvg"><b style="font-size:9pt;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Rockville</b></ix:nonNumeric><b style="font-size:9pt;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">, </b><ix:nonNumeric format="ixt-sec:stateprovnameen" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:EntityAddressStateOrProvince" id="Narr_pZAU6yzA8ESwI34aVLWMWw"><b style="font-size:9pt;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Maryland</b></ix:nonNumeric><b style="font-size:9pt;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"> </b><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:EntityAddressPostalZipCode" id="Narr_2wm_DOCXpEKjR67mgsr1MQ"><b style="font-size:9pt;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">20850</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">(Address of Principal Executive Offices) (Zip Code) </p><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:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-size:9pt;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">(</b><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:CityAreaCode" id="Narr_EhQ6cu3mhUaEN_cn0AsTkw"><b style="font-size:9pt;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">301</b></ix:nonNumeric><b style="font-size:9pt;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">) </b><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:LocalPhoneNumber" id="Narr_LDYNEA5e_0KYYpwBylAsKg"><b style="font-size:9pt;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">315-0027</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">(Registrant&#8217;s Telephone Number, Including Area Code) </p><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:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">(Former Name, Former Address and Former Fiscal Year, if Changed since Last Report) </p><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:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">Indicate by check mark whether the Registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15 (d)&#160;of the Securities Exchange Act of 1934 (the &#8220;Exchange Act&#8221;) during the preceding 12 months (or for such shorter period that the Registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90 days.&#160;&#160;&#160;&#160;</span><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:EntityCurrentReportingStatus" id="Narr_FovfR_B_ZU2bOhGWbkz5-g"><span style="font-size:9pt;">Yes</span></ix:nonNumeric><span style="font-size:9pt;">&#160;&#160; </span><span style="font-family:'Wingdings';">&#254;</span><span style="font-size:9pt;">&#160;&#160;&#160;&#160;No&#160;&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:9pt;">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">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).&#160;&#160;&#160;&#160;</span><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:EntityInteractiveDataCurrent" id="Narr_GEC7DcTr2US7nPjqj7_pPQ"><span style="font-size:9pt;">Yes</span></ix:nonNumeric><span style="font-size:9pt;">&#160;&#160;</span><span style="font-family:'Wingdings';">&#254;</span><span style="font-size:9pt;">&#160;&#160;&#160;&#160;No&#160;&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:9pt;">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">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 &#8220;large accelerated filer,&#8221; &#8220;accelerated filer&#8221;, &#8220;smaller reporting company&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><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:9pt;">Large&#160;accelerated&#160;filer&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:9pt;">&#9744;</span><span style="font-size:9pt;">&#160;&#160;</span><ix:nonNumeric format="ixt-sec:entityfilercategoryen" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:EntityFilerCategory" id="Narr_ERIwJFQ3CUiHA1OLZ36h_Q"><span style="font-size:9pt;">Accelerated&#160;filer</span></ix:nonNumeric><span style="font-size:9pt;">&#160;</span><span style="font-family:'Wingdings';">&#254;</span><span style="font-size:9pt;">&#160;&#160;Non-accelerated&#160;filer&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:9pt;">&#9744;</span><span style="font-family:'Segoe UI Emoji';font-size:9pt;">&#160;&#160;</span><span style="font-size:9pt;">Smaller&#160;reporting&#160;company&#160;</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:EntitySmallBusiness" id="Narr_fxK-jPStDkOc26mcRj7Ytg"><span style="font-family:'Segoe UI Symbol';font-size:9pt;">&#9744;</span></ix:nonNumeric><span style="font-size:9pt;">&#160;</span><span style="font-size:9pt;">&#160;Emerging growth company&#160;</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:EntityEmergingGrowthCompany" id="Narr_SfwBKacee0WTubyAxvstGA"><span style="font-family:'Segoe UI Symbol';font-size:9pt;">&#9744;</span></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">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. <span style="font-family:'Segoe UI Symbol';">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;">Indicate by check mark whether the Registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).&#160;&#160;&#160;&#160;Yes&#160;&#160;</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:EntityShellCompany" id="Narr_jKeDkrDeck-HTu1ykjXBfQ"><span style="font-family:'Segoe UI Symbol';font-size:9pt;">&#9744;</span></ix:nonNumeric><span style="font-size:9pt;">&#160;&#160;&#160;&#160;No&#160;&#160;</span><span style="font-family:'Segoe UI Symbol';">&#9745;</span><span style="font-size:9pt;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><a id="_0e6bbf5d_5a3e_4b82_97ce_53d45b744f6c"></a><a id="Tc_edbAa6ekjU2bbfiA6Bs_DQ_1_0"></a><a id="Tc_gQ-o0rI-B0iNRYB3LOXWoA_1_2"></a><a id="Tc_HKcLzm1JhUm6ob-TheLvTg_1_4"></a><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.72%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:1.62%;margin:0pt;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;">&#8203;</span></p></td><td style="vertical-align:bottom;width:27.43%;margin:0pt;padding:0pt;"></td><td style="vertical-align:top;width:2.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="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:33.77%;margin:0pt;padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:34.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Title of Each Class</b></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:27.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Trading Symbol(s)</b></p></td><td style="vertical-align:top;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:33.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Name of Each Exchange on Which Registered</b></p></td></tr><tr><td style="vertical-align:bottom;width:34.72%;border-top: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:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:Security12bTitle" id="Tc_2LXPfOeby0eN0jF8_kFUCA_2_0"><span style="font-size:9pt;">Common Stock, $0.15 par value</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:1.62%;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:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:27.43%;border-top: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:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:TradingSymbol" id="Tc_Unr2AjIdTkqKVUmksRtdsg_2_2"><span style="font-size:9pt;">AGX</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:2.44%;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:9pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:33.77%;border-top: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:center;margin:0pt;"><ix:nonNumeric format="ixt-sec:exchnameen" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="dei:SecurityExchangeName" id="Tc_chvmcywRQkiMUxlQl0GoRQ_2_4"><span style="font-size:9pt;">New York Stock Exchange</span></ix:nonNumeric></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Indicate the number of shares outstanding of each of the Registrant&#8217;s classes of common stock, as of the latest practicable date. </p><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:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">Common stock, $0.15 par value: <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" format="ixt:numdotdecimal" scale="0" contextRef="As_Of_12_1_2023_xwq3pcoJakWNfviCYwtNLw" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" id="Narr_OnZ7vJZVC0-yFW9_n7o_XQ">13,327,866</ix:nonFraction> shares as of December 1, 2023.</p><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:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1pt;padding-bottom:1pt;padding-top:1pt;text-align:center;border-bottom:3.0pt solid #000000;border-top:1px solid #000000;margin:0pt;"><span style="font-size:1pt;line-height:1.19;visibility:hidden;">&#8203;</span></p><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:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:0pt;text-align:center;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:91.06%;border:0;margin:30pt 4.47% 30pt 4.47%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><a id="_1d28d80d_f2d8_4680_9191_f36745143bc3"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">ARGAN, INC. AND SUBSIDIARIES </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS</b><b style="font-weight:bold;"> </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In thousands, except per share data)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">(Unaudited) </b></p><a id="_40e3b382_85f6_401e_8c6e_6c56ced807e1"></a><a id="Tc_MoEE6b2fqUaLY2j8A9iyIg_1_2"></a><a id="Tc_Qw2g9lJfGkiHTqcKovIkMQ_1_8"></a><a id="Tc_F_dwRNBDE0Kq4zIKgGRPEQ_2_2"></a><a id="Tc_MNPYho1Ym0aUSfKY868hag_2_8"></a><a id="Tc_M_SgMU6SB0Sjvhwp0P0h3Q_3_2"></a><a id="Tc_gAo_QUi5qUOSDwmjP39GSg_3_5"></a><a id="Tc_6THcIc35-E6KHiV-8dz-Gg_3_8"></a><a id="Tc_NI_Vktnd40OvAHBiTFSMfw_3_11"></a><a id="Tc_6-3U740A1EmVKSLX69U_jw_4_0"></a><a id="Tc_1idw6ZsVBUi0WvqH4Bwheg_4_2"></a><a id="Tc_pbsjwccTpUCq3LcghHzAKA_4_5"></a><a id="Tc_8iQ_JQ1ge0SexecfCBCXXw_4_8"></a><a id="Tc_FBKFfYPbNk-y-MvxKA12ZQ_4_11"></a><a id="Tc_q_iEZu9ILEqzXwcgAiA_4A_5_0"></a><a id="Tc_h7tNJwQt4Ee0Q-yL3hRzFA_6_0"></a><a id="Tc_UxLqPBXY_EKiosa71dR2uQ_7_0"></a><a id="Tc_3CpaRlTBXkKKz2Rn2QLUWg_8_0"></a><a id="Tc_IFsULoz2rEqq4Se9FkOjCA_9_0"></a><a id="Tc_4KhSUImqMU6Vfjx2RHueoQ_10_0"></a><a id="Tc_lD9FEbNilU-SxKZASEe1BQ_11_0"></a><a id="Tc_RZZFIEn3jUqEKNxM2rNqMQ_12_0"></a><a id="Tc_a-wMuPrKlk2vldfSGUiq9A_13_0"></a><a id="Tc_RaOV-EI36ECxWMVwvHMR3Q_14_0"></a><a id="Tc_pXqyyjnR8kanNasBlldmFQ_14_6"></a><a id="Tc_QsX-tqYN1kGQ5OQiF6WFzA_14_12"></a><a id="Tc_UG4y8WBen0mPwAafhax-1A_15_0"></a><a id="Tc_2ItKG4etPkmIwWGs7O6Rsw_15_2"></a><a id="Tc__2g6-3eKM0agGvbcLZAbzg_15_5"></a><a id="Tc_SF9lF67YNU6iouP76I4vlA_15_8"></a><a id="Tc_t9aSJSM_o0amNHjNVNfx2A_15_11"></a><a id="Tc_7D0kEFwmlkW0UOrznxfGrg_17_0"></a><a id="Tc_9w-SogNGAUKaL3tEp27-hA_18_0"></a><a id="Tc_X8yv8_NwwUa0slKZxIQ0EA_18_2"></a><a id="Tc_cUfP3_mNgUeT0vp_RYYk5g_18_5"></a><a id="Tc_3s5wDSojJUytH0Mpr4tlwA_18_8"></a><a id="Tc_XMfPPV1eSECmO_cDUDBTxg_18_11"></a><a id="Tc_NeMc8qumuECpkocTk9PeEg_19_0"></a><a id="Tc_ETm56ZGMokyXZ0dOY75_Hw_19_2"></a><a id="Tc_J70_OYlibUqFUWAmGh8AOA_19_5"></a><a id="Tc_kRpeKNHlaUmmrf5kegdmZQ_19_8"></a><a id="Tc_SK5ZnIIrKku6wCgYyjXzqA_19_11"></a><a id="Tc_gGu9_9Ph_0WoVJ9Ltp0JeQ_21_0"></a><a id="Tc_dEwtYbDgNkaKJfohQRmz-Q_22_0"></a><a id="Tc_1uf3jcNTlUyhOxDU50ffyA_23_0"></a><a id="Tc_I7GQJS8q4U-7hIdjlFizBg_25_0"></a><a id="Tc_5IUJyoS0i0CL5nmWM4mfng_25_2"></a><a id="Tc_AaFAjhSDnUijNxHiF-kXJQ_25_5"></a><a id="Tc_D-gAbyRu3kGJbWF7CC_N7Q_25_8"></a><a id="Tc_WyH27QPcEkOpvEGzrU7Qmg_25_11"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.7881775%;padding-left:0pt;padding-right:0pt;width:101.57%;"><tr style="height:1pt;"><td style="vertical-align:top;width:56.93%;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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.47%;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;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.47%;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;"><b style="font-weight:bold;">Nine Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">REVENUES</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_UwDQB8b4zUiHQSRyynooCg_4_3">163,755</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_aJVS1k0jlUKeAC1gqW2PdA_4_6">117,875</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_NhzAq-t8p0SbvdVkGCd__g_4_9">408,779</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_YBjo-gfPdEikQdmlTLBgmA_4_12">336,262</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;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.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_fkMO6Qe5okqKL1ls153kyw_5_3">144,520</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_01wYw1wAxEyW1G0iMxNBfA_5_6">95,667</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_upcQKlGlTU61By6tGla-Wg_5_9">351,578</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_YE_YEbtZG0qVgehSvhVfIg_5_12">269,929</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">GROSS PROFIT</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_Kn5LFJemq0iRSCcIQensFQ_6_3">19,235</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_O7Fx8o8arkK0VildHpYw-w_6_6">22,208</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_eg_0TajOoEKDBMhVqhndAA_6_9">57,201</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_AdP4zjDClkqIanSvshHHmA_6_12">66,333</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;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.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_ySzx5BjUwE-O98bENlu_kg_7_3">11,375</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_W6bnn2a0kE6Zn4gGy8EnFQ_7_6">12,667</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_wDL1GhqvBUSKlI6zf1f4hQ_7_9">32,467</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_38Kw4bvS_k2HPmNYvRwW9Q_7_12">34,226</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">INCOME FROM OPERATIONS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_2jTJW64YUEaWwxas4OL56Q_8_3">7,860</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_xScxJJxp3EW1Dq9T5S0xpA_8_6">9,541</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_aNAUFJHTeUafeDREH3ePsg_8_9">24,734</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_OrosC6rVCk-2eghbS8fKwA_8_12">32,107</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;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.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_qbfCmpo0R0aHZqMM7AmgUg_9_3">3,733</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_NMnc-kp3-0GYpm8iCH5-OQ_9_6">768</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_83PdsH9YCkCovBfLIUnsAw_9_9">7,222</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_F5wqBMfM3EiCXWMreWfn6A_9_12">1,868</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">INCOME BEFORE INCOME TAXES</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_2IG2KTxrmEGxcDv4v4npjA_10_3">11,593</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_pu4mijWVvkeFLRWEWSd58A_10_6">10,309</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_2wj3aQHHkEqbsj98noYIsw_10_9">31,956</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_Ti5atu5TPU2e-sX_2FEbTg_10_12">33,975</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;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.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_ZToTKuwVTECYV5SJ1HDBdA_11_3">6,129</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_H_CQBCDbh0W6u8ReO_eoyg_11_6">2,551</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_tjH4YNbp60qLmAlKxcvkQg_11_9">11,616</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_aOgmUZ55F0iZK0V5GTNaYA_11_12">14,510</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">NET INCOME</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_WB-Jyz67qEev2PJdzmKIUQ_12_3">5,464</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_fOJfSv7S0UyTSD-KQiA3bQ_12_6">7,758</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_3GjzNahYCEalpKQWZQVQoA_12_9">20,340</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_UwF5T0ny3ES-SMsvCZN0pQ_12_12">19,465</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Foreign currency translation adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" sign="-" scale="3" id="Tc_tJsSAh6CJUm329WET_ppIQ_13_3">882</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" sign="-" scale="3" id="Tc_OFfL9v5e10y-vs96CFVNzQ_13_6">650</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" sign="-" scale="3" id="Tc_bVctu_BPqk60MKP4uF632g_13_9">627</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" sign="-" scale="3" id="Tc_5U2k11QSQU2GcdGi08_uBw_13_12">2,601</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;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 unrealized losses on available-for-sale securities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" sign="-" scale="3" id="Tc_eCFaj3ngtkWae5iSCCpc4A_14_3">427</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" sign="-" scale="3" id="Tc_2qGfGiqo4UOfhlq-PBfpHQ_14_9">1,147</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">COMPREHENSIVE INCOME</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px 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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_iKO7mnJn50Gz-hSN4jNfsA_15_3">4,155</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px 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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_i_wcE7C1nEmX4j-J5vYmKQ_15_6">7,108</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px 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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_0ArpuWhXUkiTj3I4u5FN6Q_15_9">18,566</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px 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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_PJNRBZsVK0ir2R-uj_Ym8w_15_12">16,864</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">NET INCOME PER SHARE</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;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;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:3px 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.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_IvtZpPQnkk6EPXLwrj6PEA_18_3">0.41</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:3px 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.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_EYza8FPfIEiKoMKt-Va2BQ_18_6">0.56</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:3px 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.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_S6HbwEFcwUqueEDzPNh_WA_18_9">1.52</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:3px 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.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_rZjKhmwYQkasd8X-3MN1kw_18_12">1.36</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;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;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px 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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_u9dtXpcBLEmt0IjWRYCLkg_19_3">0.40</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px 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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_d6JrPGs4lEOZMYX5F0sN-w_19_6">0.56</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px 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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_OmHChQXmikm-2WNgCNTO6Q_19_9">1.50</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px 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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_LnkoZrA98karpT_UgjNyEQ_19_12">1.36</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;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;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">WEIGHTED AVERAGE NUMBER OF SHARES OUTSTANDING</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;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;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_Q3adDCxmOk-vEGgTcoY5Mg_22_3">13,328</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_qMDBxF6eI0iWSypBtIeheQ_22_6">13,781</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_M64t3JTCw0qMYnb8B8s_Eg_22_9">13,381</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_aPOaKeIoTUmDzu3IIONioA_22_12">14,268</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;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;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_jzkAK2o6X0G4zOLbGaEqhQ_23_3">13,559</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_LmLau8F_u0Wc97TB19e5Ew_23_6">13,812</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_fp7OsUPD1EWbYX8DqFxrQw_23_9">13,549</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_zfroW_ZyBk62QQx97x_SUA_23_12">14,350</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;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;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:56.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">CASH DIVIDENDS PER SHARE</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px 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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="2" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_ZwZzFLKs0kGPQRb-NWjI8w_25_3">0.30</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px 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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_VrlvQUmsVUy5XPR1GAC9SA_25_6">0.25</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px 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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_EoSi2_ZF7EuRQPPSV_tVsg_25_9">0.80</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px 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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_0IPxD4FHEkeFISjBlj9b2Q_25_12">0.75</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:8pt 0pt 0pt 0pt;">The accompanying notes are an integral part of these condensed consolidated financial statements. </p><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:9pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:3.0pt;margin:0pt 0pt 2pt 0pt;"><span style="font-size:9pt;line-height:1.19;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">2</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:10.35%;padding-right:10.35%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_15a9ff1f_005f_4bf7_a9c9_34ea65ac280f"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">ARGAN, INC. AND SUBSIDIARIES </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONDENSED CONSOLIDATED BALANCE SHEETS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">(Dollars in thousands, except per share data)</b></p><a id="_963a574c_dbad_4fee_8916_8125baf02bb5"></a><a id="Tc_kzxD7Ju1UU2sF_2aC3wyIw_1_2"></a><a id="Tc_RSY0nYjl6UimLJqepRIiSA_1_5"></a><a id="Tc__c1PzWVYp06j5a2ILUOw4g_2_2"></a><a id="Tc_wrpL_eNp30WXyVDNrPOO5w_2_5"></a><a id="Tc_HkVEfa1K7kS9oeYG_ehLzw_3_2"></a><a id="Tc_eAKK7aZXfk2Vr43Fd_NLGg_3_5"></a><a id="Tc_-8guAxTfkUaa1f1AX9KQ8A_4_0"></a><a id="Tc_rVKr_evjC0Ws3JowXfN-2Q_5_0"></a><a id="Tc_qqsdrvmX60OyZMpF7a26gg_6_0"></a><a id="Tc_2kfMAfHVnEGAuhIjY89zYg_6_2"></a><a id="Tc_NYraWSycgU2LGfzu2_26pg_6_5"></a><a id="Tc_Cpe4eFp3WkOS7sXMjc651A_7_0"></a><a id="Tc_zOnKeE1AkUWzv_W6i53L_g_8_0"></a><a id="Tc_w8nE7vnUYECnYXG3EgMuGA_9_0"></a><a id="Tc_v4tr6fDix0SA7MkA8Vjzqg_10_0"></a><a id="Tc_VQJNyam9REGsc4YSSvYbqg_11_0"></a><a id="Tc_3Tle_G4RDkCzZnahh-4fkg_12_0"></a><a id="Tc_Hjn94yJxzk2SUYKdz0GVLQ_13_0"></a><a id="Tc_jzzz4XipRkWKw7ndS5V-EA_14_0"></a><a id="Tc_oQkgpbVw5kOMKbxsrpK4RQ_15_0"></a><a id="Tc_KT28mgTIdUawGQEid9K30w_16_0"></a><a id="Tc_bQv8M5-X9E2dJ05J2LDZhg_17_0"></a><a id="Tc_zDTdt8xGLUaP2OdO2L4gIA_17_2"></a><a id="Tc_ZoPY2C8mn0KOVYDWfcwySQ_17_5"></a><a id="Tc_NZrKHGqIuEKdnD5qs3dPOw_19_0"></a><a id="Tc_ozQ4t8r5HkyKt5j8qbQOSQ_20_0"></a><a id="Tc_kHLcjXC6OUeXy2xFrvRZVg_21_0"></a><a id="Tc_pLhRcnS0w0aGwgRXVHDI8w_21_2"></a><a id="Tc_sbbn8HeKu0Cc0YtgyHShag_21_5"></a><a id="Tc_7Kx9dgVudEOww0Fhppuwqg_22_0"></a><a id="Tc_mJ8GgnpaTkC96MCmjM8ASQ_23_0"></a><a id="Tc_KAI6YTKlCkOUioHkd42Qgg_24_0"></a><a id="Tc_R-873zBx20W21KfyH0Rmyw_25_0"></a><a id="Tc_H7QQ-MINz0S8OVRAO4IRXw_26_0"></a><a id="Tc_xokbF1AgyUuHN8_6IPt1qA_28_0"></a><a id="Tc_eSu1OA4U7Uqo1B78pm-xZw_30_0"></a><a id="Tc_EpdU9qeSWkO-Uf_z3Y_ULQ_31_0"></a><a id="_0b3d8ed8_3b71_4b27_98bb_f6cf1ab955b0"></a><a id="_0b3d8ed8_3b71_4b27_98bb_f6cf1ab955b0_2"></a><a id="_0b3d8ed8_3b71_4b27_98bb_f6cf1ab955b0_3"></a><a id="Tc_Dqt_3oTAPEuOaaTzoD5SUQ_32_0"></a><a id="Tc_dup15mwwmkm2nZf-8qeJIg_33_0"></a><a id="Tc_ivBl7vqa6EOODn3DonhBYQ_34_0"></a><a id="Tc_hYJ0wG1DGEGfThJ-1OMwYw_35_0"></a><a id="Tc_C8KOkZzGtUCkNDDm1AolAg_36_0"></a><a id="Tc_l3cXvSrXT0iozttBriNWow_37_0"></a><a id="Tc_xYB3CKsmOUSQhmwr8ffaIw_38_0"></a><a id="Tc_NzhMfgZ-EEit1z8CSYejcQ_38_2"></a><a id="Tc_1P05HVuRoUmyaQwSmBVBrA_38_5"></a><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:73.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.81%;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;"><b style="font-weight:bold;">October&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.94%;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;"><b style="font-weight:bold;">January&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.81%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.81%;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;"><b style="font-weight:bold;">(Unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.94%;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;"><b style="font-weight:bold;">(Note 1)</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.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;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">CURRENT ASSETS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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 0pt 0pt 6pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_PhjhMOwsAEGvyH8FSUdQAA_6_3">185,569</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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: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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_tGZSiYlNIkCBo-qRey-9Rw_6_6">173,947</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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 6pt;">Investments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Investments" scale="3" id="Tc_nsJ_UH1cvEWomj4cMT9VAw_7_3">211,946</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Investments" scale="3" id="Tc_pA5BaWYPLEqmjmWuPr1g8Q_7_6">151,511</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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 0pt 0pt 6pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_D7qC6ejbRk6HzpGFEL4iCg_8_3">49,922</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_Y8UIhX5XcEeKbZEJaq5Nhg_8_6">50,132</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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 6pt;">Contract assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="3" id="Tc_lvIZ8t7BJUqu6EXsKy4xPg_9_3">25,391</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="3" id="Tc_EOb6x1iAuUOgeKPTXyIqjA_9_6">24,778</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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 0pt 0pt 6pt;">Other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsCurrent" scale="3" id="Tc_Gmo78k0Y3Ueib_nxGRO9pA_10_3">41,243</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsCurrent" scale="3" id="Tc_QVwrRKp8oka6M-5P_4Laaw_10_6">38,334</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">TOTAL CURRENT ASSETS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_hhpiAeZDNEySAUVomSrshA_11_3">514,071</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_lwqGhZ_5K0-bpkB6dRDvRA_11_6">438,702</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_rbCzOVZcmE2DSEiESMGgzg_12_3">10,786</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_60kwjiQk60SGH2rMsmkNHA_12_6">10,430</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.97%;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.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_uHUJ1iBYpkCLg79r_ukDKQ_13_3">28,033</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_jnndvKWDsUKs5pAMUVjQiw_13_6">28,033</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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;">Intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_XWYq9HhXtkW8jCTS_lOciw_14_3">2,315</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_F8y-NrWWE0iYNBkT58O9Jg_14_6">2,609</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Deferred taxes, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_TmaKTt9jlEC4XlG2wBoAew_15_3">3,132</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_gRIBmxsNZESW2D81TRaRLg_15_6">3,689</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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;">Right-of-use and other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="agx:OperatingLeaseRightOfUseAssetAndOtherAssets" scale="3" id="Tc_RYVU_Nx6MUSE5VyGicsmDg_16_3">5,315</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="agx:OperatingLeaseRightOfUseAssetAndOtherAssets" scale="3" id="Tc_Wa1PMDCUDkWksOrm2p8VKQ_16_6">6,024</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">TOTAL ASSETS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;border-bottom:3px 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.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_DEN5XbzT1UOrDK8Fld8oVA_17_3">563,652</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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:9.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_aJtwUivuJ0m-vgddUe7kAw_17_6">489,487</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">LIABILITIES AND STOCKHOLDERS&#39; EQUITY</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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;"><b style="font-weight:bold;">CURRENT LIABILITIES</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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 6pt;">Accounts payable </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="Tc_QKr2BriVlE-6a-1xh9Nrxw_21_3">34,532</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">$</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="Tc_Wime32P2dUq4odZSaHk_NA_21_6">56,375</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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 0pt 0pt 6pt;">Accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="Tc_FfX4-kpehUutufpgJrgmNw_22_3">83,193</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="Tc_WRZDvEHGXUGz8Hxr_HkSUw_22_6">49,867</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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 6pt;">Contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_EcMcHf2DjUaUAxCeoe0SHQ_23_3">156,169</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_QJ9iCrBPCUqcryG3AsAy4w_23_6">96,261</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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;"><b style="font-weight:bold;">TOTAL CURRENT LIABILITIES</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_rOWGXy_VVkunJFBMdQIP6Q_24_3">273,894</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_vavf6cXzaU642fIeioFbqQ_24_6">202,503</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Noncurrent liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesNoncurrent" scale="3" id="Tc_sIgUPnooRkuf27FCspDv-Q_25_3">4,925</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesNoncurrent" scale="3" id="Tc_ADXwPdzPL0CjzUAgTDaniw_25_6">6,087</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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;"><b style="font-weight:bold;">TOTAL LIABILITIES</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_MaWviuGTwE-YePomubIIZA_26_3">278,819</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_JRZlH6-pWUmbS0UyN9e_AA_26_6">208,590</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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;"><b style="font-weight:bold;">COMMITMENTS AND CONTINGENCIES </b>(see Notes 7 and 8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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;"><b style="font-weight:bold;">STOCKHOLDERS&#8217; EQUITY</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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 6pt;">Preferred stock, par value $<ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="Narr_qcNLAuTN-UShSpSxi31O9w"><ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="Narr_UXRMU2sI80u34YD6l1XdEg">0.10</ix:nonFraction></ix:nonFraction> per share &#8211; <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_m00JtY-U0UiDp1VIP5C6kw"><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_T40MgT3q_Umugg1Rb5na0g">500,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesOutstanding" scale="0" id="Narr_jCFT6xKJJkOTKKw2rT1UHw"><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesOutstanding" scale="0" id="Narr_MQqAMlrH7UiMWh51sQj5iw">no</ix:nonFraction></ix:nonFraction> shares issued and outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="-sec-ix-hidden:Hidden_HEPGc3MU_EiwuPKPJ1at0A;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> &#8212;</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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="-sec-ix-hidden:Hidden_f38CkcwZlECc6gsMBLs64w;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> &#8212;</span></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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 0pt 0pt 6pt;">Common stock, par value $<ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_AOv6CYBtmkS7DxAkw62Fkw"><ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_FIeMXG6X0kWSPJEH0xmFZw">0.15</ix:nonFraction></ix:nonFraction> per share &#8211; <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_uBhd2ZyhD0y030aQjssF4g"><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_e5wsEA_8XEa6wvZ8Jyektg">30,000,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_MiCnBpav_UCEIZfg6bRbwQ"><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_Tb4QOP8sokuWKyhNyNEyGA">15,828,289</ix:nonFraction></ix:nonFraction> shares <span style="-sec-ix-hidden:Hidden_u5l49B9upUCBRP8PyPdfrw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">issued</span></span>; <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_CwGBeqMkUkepOpcn1wcXpw">13,332,747</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_WcQI_SN4Tk-B2FthnoN1Ig">13,441,590</ix:nonFraction> shares outstanding at October 31, 2023 and January 31, 2023, respectively</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_ke3xF_5ggkSGBICe9xisMg_32_3">2,374</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_c3QznI_RT0ulTeSe5lQB8Q_32_6">2,374</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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 6pt;">Additional paid-in capital</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_lzPAsApR8k2OAclMNS0I1w_33_3">163,154</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_Qn52sMhlJEabiPPrNNQuqg_33_6">162,208</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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 0pt 0pt 6pt;">Retained earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_uRHXSSADpUWt6FtRxIlQ9A_34_3">217,486</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_d1x9pXNiOUibJya2jFhqow_34_6">207,832</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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 6pt;">Less treasury stock, at cost &#8211; <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockCommonShares" scale="0" id="Narr_4eZsp6Hh8kiEtdBop3lKJw">2,495,542</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockCommonShares" scale="0" id="Narr_FcZHKDsVq0u48SpLb2FEjA">2,386,699</ix:nonFraction> shares at October 31, 2023 and January 31, 2023, respectively</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValue" scale="3" id="Tc_6XrfXT8qOEO3uXP6wcrNmQ_35_3">93,531</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValue" scale="3" id="Tc_h1GnINanGUG4fuEe9BSVdw_35_6">88,641</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.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 0pt 0pt 6pt;">Accumulated other comprehensive loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_fzOqxOC-mEas-Ew9cKeZLw_36_3">4,650</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_A0eJ7QRBU0OucKXGGRE4tg_36_6">2,876</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">TOTAL STOCKHOLDERS&#8217; EQUITY</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_M_o9Zf8PzUaQrw4RlKXdEw_37_3">284,833</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_fikfPZYgzEGRF13QbwSTew_37_6">280,897</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.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;"><b style="font-weight:bold;">TOTAL LIABILITIES AND STOCKHOLDERS&#39; EQUITY</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;border-bottom:3px 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.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_CN8V2oXhcUeafsA_10ujaQ_38_3">563,652</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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: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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_HfYd4QKx-E-mxKahcr8c5Q_38_6">489,487</ix:nonFraction></span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:8pt 0pt 0pt 0pt;">The accompanying notes are an integral part of these condensed consolidated financial statements. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">3</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.3%;border:0;margin:30pt 10.35% 30pt 10.35%;"></div><div style="max-width:100%;padding-left:8%;padding-right:8%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_c9ba0b27_4ba2_4789_a10a_28e8297a0fc6"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">ARGAN, INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">FOR THE THREE AND NINE MONTHS ENDED OCTOBER 31, 2023 AND 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;padding-left:19.45pt;text-align:center;text-indent:-19.45pt;margin:0pt;"><b style="font-weight:bold;">(Dollars in thousands)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;padding-left:19.45pt;text-align:center;text-indent:-19.45pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p><a id="_f5c30254_01f6_4a93_917a_e7fc9eecb273"></a><a id="Tc_bfUsxzeLF0uU4rHUnLj0Iw_1_2"></a><a id="Tc_nLPAhBpC7Uu8VAuoiPvs3g_1_7"></a><a id="Tc_dChzyeZonkOeGLTEV42ywA_1_16"></a><a id="Tc_fxng0VBFAUitCeAuff_3iQ_2_2"></a><a id="Tc_uJCu_Bz3cE2i3nmxKkzPXg_2_4"></a><a id="Tc_Sj-nbIvMpUWmzZU3do9eiA_2_7"></a><a id="Tc_qFOILfkWHkyFkmgsZySiwg_2_10"></a><a id="Tc_CNwPABqm9U2YQz2l-s9ZlQ_2_13"></a><a id="Tc_074xHRpgfEOvk16X09j2Fw_2_16"></a><a id="Tc_Sb0KymmyvEOyp_xqJ0RsgA_2_19"></a><a id="Tc_ifnuKDqlkUOvaASEVaWSTQ_2_22"></a><a id="Tc_CAFu5yPjpkukEQPnAzLiig_3_2"></a><a id="Tc___kO41LwYUuCh13unNhauA_3_4"></a><a id="Tc_qT2kFaHk_EGAHTID7XLplQ_3_7"></a><a id="Tc_qumNMWL_B0qvb_Az-d5MCQ_3_10"></a><a id="Tc_ZNOW4eIDCUO93ag3zEQcbw_3_13"></a><a id="Tc_nBO77nxmM0K3_TRQKY8dWw_3_16"></a><a id="Tc_s---dtGuPkqu_7Jo2vphQA_3_19"></a><a id="Tc_0gEuFw-Np0OtIrQKxEkQJw_3_22"></a><a id="Tc_27VItzKw7EuS9_MVUJ8yiw_4_0"></a><a id="Tc_66fEXdGa-k2v6EzVoZ7Gug_4_4"></a><a id="Tc_Z_pdbJ3o20SkLUcGnCc9qg_4_7"></a><a id="Tc_b8wk2-b4uk2cOdWUNqpOWw_4_10"></a><a id="Tc_4pxsk46Oi0Gw_QbGhrSOfw_4_13"></a><a id="Tc_76dqf1umSU-X-dG3bp52Fw_4_16"></a><a id="Tc_KHRiXXfmTkaf4jLPqBulZw_4_19"></a><a id="Tc_bTkI6nWVt0m-GeBK8fhIqw_4_20"></a><a id="Tc_sGh6q1Fh-EOJTcGlktMLLg_4_22"></a><a id="Tc_iSuykoQ80U6llWtbWP7w5Q_5_0"></a><a id="Tc_vXq800o3hkm_7t2Kb-r8rg_5_2"></a><a id="Tc_jUYkpCb2WE2tyOtVj9qnzg_5_5"></a><a id="Tc__b2sd9lsy06i_h5BIKZbag_5_8"></a><a id="Tc_sz42VVz9LUSa3LYc88mYpw_5_14"></a><a id="Tc_zTWTu0sda0m_NrDzjF7yTw_5_17"></a><a id="Tc_ITze4OEQRUeXhD2RyV-Oew_5_20"></a><a id="Tc_Y_GyjMhQDk-gTPWalAT7NA_6_0"></a><a id="Tc_hcFtSJdjME2tp_UDDaaq5w_6_2"></a><a id="Tc_8LIOc28Bxkqt1lh4yOsvsA_6_5"></a><a id="Tc_1mRCCyhBz0OKZZ17yEfEAg_6_8"></a><a id="Tc_PAJfjRbofUmFXcYmVOO3yQ_6_11"></a><a id="Tc_Mw_wAB57N02Xo7vroA0HzQ_6_14"></a><a id="Tc_f0bvVNm4L0ewsN4GPNEijg_6_20"></a><a id="Tc_Q_hbHfsup0qrND213P3nug_7_0"></a><a id="Tc_ChR-8igqvEGhoKX4RF1RUg_7_2"></a><a id="Tc_d2WAX6amBkexDHaZHwfIlw_7_5"></a><a id="Tc_9PsoIOeeQ0-GQwpPy6TNdA_7_8"></a><a id="Tc_u7tNpQmZ-0-qxVLkYbyLAA_7_11"></a><a id="Tc_25U_jMQAp0ekDUc3PKkHKw_7_14"></a><a id="Tc_IJatNyiIDUOrrwGaaOPF9g_7_20"></a><a id="Tc_rYoWRVB0vkyu6ZBjJU7hTw_8_0"></a><a id="Tc_0sxzywcKAkGipioC7NNHVQ_8_2"></a><a id="Tc_ctK37OYm2ke71jNrXtmAXQ_8_5"></a><a id="Tc_pTpB6OVzIUObsDPBe5iqrw_8_11"></a><a id="Tc_Ew5f59MA6Ee1vLRmJTli0A_8_14"></a><a id="Tc_wdk2naeIZkGwGRNS5HUN7A_8_17"></a><a id="Tc_WmaBbvelXUKOdQ1dPOaquw_8_20"></a><a id="Tc_PpcN58xqK0qXTqhEGNdDlw_9_0"></a><a id="Tc_JvR-SWjt-kuD6HFNHpdkTg_9_5"></a><a id="Tc_rOrB-4zWfkS1-IXHcera0g_9_11"></a><a id="Tc_ZOTFhwFKBESB_tsMI93SQQ_9_17"></a><a id="Tc_BRAKbg67hECJeDOjxQ2GTg_9_20"></a><a id="Tc_hVRZochiAkeDc8tme5Pj4w_10_0"></a><a id="Tc_i1FjngN_JkSkv9tzj2k1wQ_10_5"></a><a id="Tc_UCg5K9MYckm90zAoKlLDBQ_10_8"></a><a id="Tc_ziADKDlwrEGPiuNEB6ldwg_10_11"></a><a id="Tc_jsDmJhJbI06D96nuRxaf5A_10_17"></a><a id="Tc_OkxuuBypj0SEhCMRo1lLQw_10_20"></a><a id="Tc_QdiNRZky4UaEG0iWYn5CXA_11_0"></a><a id="Tc_n61vlZUzQU2eU3IWZI1qOA_11_2"></a><a id="Tc_JcrEmzwsd0u2JV81EELWCw_11_5"></a><a id="Tc_PzEJv6OgaU-qdHGoQ9CULg_11_8"></a><a id="Tc_jGHJGPSLr06bvvU1eznVpw_11_14"></a><a id="Tc_TrHCXKf8b0elx3WlWlhnDg_11_17"></a><a id="Tc_bEE08pO-nEO4Pp5NaZ-HRw_11_20"></a><a id="Tc_b9-jO5FEQUqGUpA3Lx8ZCQ_12_0"></a><a id="Tc_j26f5dCFz0WI5XQcpe94JQ_12_4"></a><a id="Tc_uiq-ufR5FUGgVXfMsH44Zw_12_7"></a><a id="Tc_9g843vuazE2TqdwG5CtW8w_12_10"></a><a id="Tc_XOjA3G_qt0G_ke1puaTF3g_12_13"></a><a id="Tc_sW6ZnujY_UWHQUGNnZB-bQ_12_16"></a><a id="Tc_HweqFOuro0OEXzRoEoYaTg_12_19"></a><a id="Tc_WgbdH-ZkoUSzNhjcAI9rkA_12_20"></a><a id="Tc_nyS5waJ86ECBPZF0h8kvnQ_12_22"></a><a id="Tc_sxZqi6-NRkyN7imEKIdcnQ_14_0"></a><a id="Tc_Gmo7vACeNUmPBF4XbFyVAg_14_4"></a><a id="Tc_uAZ1-vu2WUehkcgYX5wvog_14_7"></a><a id="Tc_QCp2bWO210e1WVk7IRQbYQ_14_10"></a><a id="Tc_zT6Wrb3ANkCs5bwIuUjIPg_14_13"></a><a id="Tc_Cn9HM9A5vEaSTE7kbHDPHg_14_16"></a><a id="Tc_-j8KZtuqb0OdqtNX3JhOuQ_14_19"></a><a id="Tc_3yx1-MmtWkatVjEoOWaYYw_14_22"></a><a id="Tc_6aNEAf3aEUyqOkvihp1HQA_15_0"></a><a id="Tc_X8kKZNZEUkqTPPP68xUmxg_15_2"></a><a id="Tc_flVpgi0vVUuqtXisLYL6Yg_15_5"></a><a id="Tc_AqjrG94Pzk6D-XC5cCNlUQ_15_8"></a><a id="Tc_SMKh_gjKTUmSj2Rs9x2wXw_15_14"></a><a id="Tc_ektvgoBhxEuiNWM1VZWWOQ_15_17"></a><a id="Tc_elxAWSAHZ0KmO0RBmZBIyg_15_20"></a><a id="Tc_fQYEosi5okKPYkn8iUfN6Q_16_0"></a><a id="Tc_-gjACK8jXkeUMyj8nSNM8g_16_2"></a><a id="Tc_QFPiCzjIDkuKI2TP3s_4nA_16_5"></a><a id="Tc_cMWFdhgmpk-K_bq3rN_LkA_16_8"></a><a id="Tc_mO6pljXbDkm3o8EgsPHwwQ_16_11"></a><a id="Tc_4HmTnnwN50qeZ5X2gD3BoQ_16_14"></a><a id="Tc_KOu9DqNEBUC2D2MR3QL5zA_16_20"></a><a id="Tc_ttVEzx0LbUayo__sGQRGqQ_17_0"></a><a id="Tc_KlzbNPL6bE6-Xt62YLFcQQ_17_2"></a><a id="Tc_gVZTJ_77-kKtJIHB1kmi0g_17_5"></a><a id="Tc_mrepqW1eTESM_zBn9KhHnA_17_11"></a><a id="Tc_UyCBJWntEEiEwnkUbzADmg_17_14"></a><a id="Tc_RjxjHGTSe0WMSbvSDp7Law_17_17"></a><a id="Tc_y_WLviCnTEKPS0oSwBYC0A_17_20"></a><a id="Tc_uc8ygVSGRUa4u6TNWNeHwA_18_0"></a><a id="Tc_PzArhX0IZUSnKtZERm2vOw_18_5"></a><a id="Tc_XixNf1Gko0GrAnnrojhicA_18_8"></a><a id="Tc_zBW1A_UVT0uXioRcimu09A_18_11"></a><a id="Tc_i0gU5aEVR0Kat91ojptTNg_18_17"></a><a id="Tc_K_OL77aM9U-GvGE6Vk0JLQ_18_20"></a><a id="Tc_SyJlx72inE2yTjiwsXdrsg_19_0"></a><a id="Tc_XqjSI3041k6Bc48qF-ef3A_19_2"></a><a id="Tc_Dcng51rJfkqWoI1OOjc8cg_19_5"></a><a id="Tc_Q3slhfZMTkmXgpZFHbgw4g_19_8"></a><a id="Tc_HQUvrWrQwEqgj-PbeU04ow_19_14"></a><a id="Tc_S2DjqFvrY0axQMM60MLovQ_19_17"></a><a id="Tc_XnY7vXlYt0iYdwrhzJXV1Q_19_20"></a><a id="Tc_xyWCwqgdAU-kzeCC75JM0Q_20_0"></a><a id="Tc__MTBsWS1-k-Zl0GDlgVXtw_20_4"></a><a id="Tc_ATdAkUtteUyNwqnev0Uj_Q_20_7"></a><a id="Tc_mB0kLpmdUE-BCFPaOUDkoQ_20_10"></a><a id="Tc_s9KKOUUgl0igDul2PsVBRg_20_13"></a><a id="Tc_4qLd8aw6LkCMSU7wqiG6Sw_20_16"></a><a id="Tc_hAetlSkdh0ujsGtyOUxKeg_20_19"></a><a id="Tc_5NNFuoMS40mpaQAQvhGwNA_20_22"></a><a id="Tc_VtE4t6UYNk-LiuHzb-1Ang_22_0"></a><a id="Tc_1Gh8giAnVUqalIfT8XAZfw_22_4"></a><a id="Tc_A16XwW8HfUOIKxDdMarqjA_22_7"></a><a id="Tc_SS0C1ehRo0KkURiYzTJd5A_22_10"></a><a id="Tc_u5C5vK84w0i5tlUf34fE_g_22_13"></a><a id="Tc_rXK2Lk9cl0K869jm9J4ZYA_22_16"></a><a id="Tc_Yjuugli7CEaWFGFczvS8sw_22_19"></a><a id="Tc_jDykrDVDmUOG-mBu2h-VXg_22_20"></a><a id="Tc_KEXBsdiatE-x19yhA9nl8Q_22_22"></a><a id="Tc_8SJEcA-Lr0e6-OVANNroug_23_0"></a><a id="Tc_9lebzz0j6Ua4Ut_fFJGrhw_23_2"></a><a id="Tc_BGRyee9ts0yAz6aETzNpig_23_5"></a><a id="Tc_XB8Z_MNy0EGhHX6b3V-9GQ_23_8"></a><a id="Tc_5A0NIXMo9kudsPGdW8qALA_23_14"></a><a id="Tc_xoDTquUWWku68irpz2d2wA_23_17"></a><a id="Tc_1cgmDnpYT0CGWgQXaNjS_A_23_20"></a><a id="Tc_wbCWd0JHTUOQH8wY7Cf-9w_24_0"></a><a id="Tc_USENlmBey0W-uiyG8FD7_Q_24_2"></a><a id="Tc_NAvRFM01bk-P9JnbT-dIag_24_5"></a><a id="Tc_U8Lq7GXO0kyd5pA3q9MYug_24_8"></a><a id="Tc_Morvf5QhX0ioYF-rouUv1Q_24_11"></a><a id="Tc_4opmLDEN9EqT15j7aCQKjw_24_14"></a><a id="Tc_fnzgLUhbhUiVwGVIbdLDlQ_24_20"></a><a id="Tc_60BQmZ4e1k6bSSB5KVm9vw_25_0"></a><a id="Tc_OSUgZe24JEmleOigPSZFZQ_25_2"></a><a id="Tc_NjUem6uNGU-8dk-LZRgDig_25_5"></a><a id="Tc_vno8Eb03eU2-ZeViI824sQ_25_8"></a><a id="Tc_fv6kC9RerEyiOOWzrAdHMA_25_11"></a><a id="Tc_r8gUZfnC9USJJcHM2zzurw_25_14"></a><a id="Tc_Ds17EitqIkKS5wlwn-LGtg_25_20"></a><a id="Tc_Tioq02ormU2T7NNp_O7e-Q_26_0"></a><a id="Tc_4PuSPzrPFkO1ptbo4I9QmA_26_2"></a><a id="Tc_MLsUsXZpyUmwAMfl-_Ddzw_26_5"></a><a id="Tc_XMESMkc2gEWOBDQ_mJ8Krw_26_11"></a><a id="Tc_eQd3SxoWJ0exeJxvpo8EWw_26_14"></a><a id="Tc_-XgEovYNvke5DvL6m05vJA_26_17"></a><a id="Tc_sNqygA91ZEWf0IBMX1eE_A_26_20"></a><a id="Tc_ua8SwT0Zj0K0IdkUB5D_mg_27_0"></a><a id="Tc_k0x1ZZZlykq1nQsDefYTQQ_27_5"></a><a id="Tc_SeHquyHgfkqpDE4KYJc1vw_27_11"></a><a id="Tc_0XLDhYAZFU-aNr-QYW2fPA_27_17"></a><a id="Tc_uPcw_N6VLECxNCqUK3m1HA_27_20"></a><a id="Tc_K0OhD3SYkUO_Dm-FBYplPg_28_0"></a><a id="Tc_1RsJoQ1_C0OvMNEmPxfP3w_28_5"></a><a id="Tc_f7Swu5MDKkCk6jfDI1_g4g_28_8"></a><a id="Tc_qP3OusYJKUeAc3Oku2WuMw_28_11"></a><a id="Tc_1Dd3TdIiukOvgJnXH0jYDw_28_17"></a><a id="Tc_0pc6lBjGr0Kn8aG2fvrViw_28_20"></a><a id="Tc_SdVIdNdIMEWH9NWpVS0pVA_29_0"></a><a id="Tc_AqNNVBsVGkeofVs7p0MH3Q_29_2"></a><a id="Tc_xy7Jdy56u0O6RgekiM4gPg_29_5"></a><a id="Tc_cRkCvitTv0uD_5wPOWrhtw_29_8"></a><a id="Tc_rEflBAXLJUyNw84hG7yeug_29_14"></a><a id="Tc_sLGs1t4cwkaI0--2t36a7g_29_17"></a><a id="Tc_PhNrghS4TEabPtB_4Y8gpQ_29_20"></a><a id="Tc_Dhi6BSDQ_UmKnwGc8if8TQ_30_0"></a><a id="Tc_9nxHL61b3UeIYa-R6V7cPA_30_4"></a><a id="Tc_RSgoPbKsv0qMGbF7LYY1mw_30_7"></a><a id="Tc_fOGa9zHkZEaBr6eLn8hY0Q_30_10"></a><a id="Tc_pDVLvnX730WnY7JweNQZ9A_30_13"></a><a id="Tc__QMRytx3OUO_QMqc2DLvww_30_16"></a><a id="Tc_Lt1dLCVpukehqe89WjB0jw_30_19"></a><a id="Tc_sAlIuxVYXUqKSFe2WGHI_Q_30_20"></a><a id="Tc_JKR96J_c7U2B1-Q9U0YtaQ_30_22"></a><a id="Tc_S0KrM5CTPEG-T6MA2JHlgw_32_0"></a><a id="Tc_L-jN97_Zu0-f3w2VSc3LUQ_32_4"></a><a id="Tc_i66soZHoVU-YieKgd4LU9w_32_7"></a><a id="Tc_NmQDhsAT80SwYm6srSPckg_32_10"></a><a id="Tc_9_oEfe15iEOmbRQla26slg_32_13"></a><a id="Tc_jokf9a8nXk2_30HBg7XcYQ_32_16"></a><a id="Tc_S8WgratYpU-h3LiwNiQSsg_32_19"></a><a id="Tc_uJiCXN3HFEyBRvuqEvx2tQ_32_22"></a><a id="Tc__vA98sm_pUGOks4vT71CLQ_33_0"></a><a id="Tc_pFDnRRhR9EaiO70QpezPYg_33_2"></a><a id="Tc_AtsYXStIr0uarND5S5Gs2A_33_5"></a><a id="Tc_YpcjHeiLzEeyCOuqEwCUug_33_8"></a><a id="Tc_fDOmLLWlk0mF414EpwtFfw_33_14"></a><a id="Tc_KaCIRzRBsEOb9yS0IDR0GQ_33_17"></a><a id="Tc_zdHhumYc4E-VMOQ1_gvorg_33_20"></a><a id="Tc_t9vhpokRDUSlBorgrO8u6g_34_0"></a><a id="Tc_2VeAOz_f90Wvu6VCrPD5Qg_34_2"></a><a id="Tc_MBNYY3wIL0Whl6N1i9hv0g_34_5"></a><a id="Tc_moEat0jLWkqF1rsW1N9PdA_34_8"></a><a id="Tc_9S9bUXlAG06I91z2AfWcTA_34_11"></a><a id="Tc_ztJVqxV-s0ukMJpD5BDByg_34_14"></a><a id="Tc_D7WQce8FkU6JzA7msluXcw_34_20"></a><a id="Tc_fy42qB4BcEOIv2Hh4-Bn5w_35_0"></a><a id="Tc_iPFS8NLPk0W79X6exZpP5w_35_2"></a><a id="Tc_TF_-LOjrE0COZ4f5gdUaNw_35_5"></a><a id="Tc_OHhInZSJ1ESGMMS4tbaG4A_35_11"></a><a id="Tc_rUobFjdcZ06byFdZBzE5aw_35_14"></a><a id="Tc_4002auCJpk2mbk-vAqdFPQ_35_17"></a><a id="Tc_Rtm9WjAR40yg55cfmdM16w_35_20"></a><a id="Tc_xuFci6jmh0ytK_qpUip5Cw_36_0"></a><a id="Tc_0EeH2Cs0s0aIeCk6ieabOw_36_11"></a><a id="Tc_WYN7JKlFVkqAorS2qlSvYg_36_14"></a><a id="Tc_W2Kjwc4LSkavhVvxD6iK0A_36_17"></a><a id="Tc_xWFk3YgJ90amw3BnW3l8cw_36_20"></a><a id="Tc_gzGJ0djyj0CPijhfF4tGKw_37_0"></a><a id="Tc_isYupZw1mEOwBRvAN7BWOA_37_5"></a><a id="Tc_oR9dfAoWQkWsuYaHUXpW2Q_37_8"></a><a id="Tc_hU0uyQR34ES4aMgkXN6jSg_37_11"></a><a id="Tc_ITxNDAWBlU2QbApZ_s7RqA_37_17"></a><a id="Tc_w_WyAOBv60-dW4X0Z7pLDg_37_20"></a><a id="Tc_G_JCblsbIUy99B9E-Uh77Q_38_0"></a><a id="Tc_JN9Lai2Wo0qQk9Mssz3mjQ_38_2"></a><a id="Tc_yGWP7VO5zEu_b_84OelHnw_38_5"></a><a id="Tc_Gjzd0YKX_0OC5N_am-ciAg_38_8"></a><a id="Tc_QtlOqfEpakSNMl9BupYZVw_38_14"></a><a id="Tc_4amyHRZRvEqPzSAnQdHWaw_38_17"></a><a id="Tc_eFcI56UTi0G_b1p90Byzmw_38_20"></a><a id="Tc_uMVtBMitAU6wCOACm2tn-g_39_0"></a><a id="Tc_wuSRCem9EUGk9wnVbgH0Jw_39_4"></a><a id="Tc_cyVFMLm8BECn7c_RqwqebA_39_7"></a><a id="Tc_j--zBXMKLEa2RPwCiFa_6w_39_10"></a><a id="Tc_MNmp8QMP9UW5MQjurDXuqg_39_13"></a><a id="Tc_3KFJjP0DuEStRkp9_YF_SA_39_16"></a><a id="Tc_wSfWXB5AhUq92vz0hCUVng_39_19"></a><a id="Tc_oUPuCdKSakuAZF4SgsPiMg_39_22"></a><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:31.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:31.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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:14.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additional </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:31.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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Outstanding</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Par</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Paid-in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Retained</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Treasury</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-controlling</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:31.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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;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:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capital</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Earnings</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Loss </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Interest</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Equity</b></p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Balances, August 1, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_1rieYgy7p0iw7fLcp1PRQw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="0" id="Tc_WMdrKapX6E2yFcIgwUz0qw_4_2">13,353,653</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_1rieYgy7p0iw7fLcp1PRQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_OIuGwvYaKEeWHEaIFqtPng_4_5">2,374</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_9RfXlsf7v0muo5HloLjuJQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_P_5aWsFopUOyqz6ShVQpBA_4_8">162,323</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_qFyir8uYOU-kZ3aTgQFgcA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_PG8o90wQt0CzW39TUnP5JA_4_11">216,009</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_vJ5knMgynkiv8oWip4CvDQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc__akJy5fRw06Xb-SZcMmxuw_4_14">92,329</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;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:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jl2B1pgEKk-AsAFnhTN28w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_He1Ag6apG0ajmcp0YpxZ4Q_4_17">3,341</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_7_31_2023_wl-fNqtJdEyoUfXB2G25LQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_YIu9m7cxBkmeJNrcFn286A_4_23">285,036</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_wbCCZPSvxkWC_OxdExpgyg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_arx73RNGJUCdT8P05y-o8A_5_11">5,464</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_5wRgJs4PGUaKPE_YPoDDzw_5_23">5,464</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Foreign currency translation loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_DM4hBJK85Uabq0jtOtqYsQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax" sign="-" scale="3" id="Tc_NoCWpagVRUyaSdnPZ8uFgg_6_17">882</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax" sign="-" scale="3" id="Tc_KSt9AyVx602JZy_pYoOYlw_6_23">882</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Net unrealized losses on available-for-sale securities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_DM4hBJK85Uabq0jtOtqYsQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" sign="-" scale="3" id="Tc_pLU3T8iBg0ehcXlHxAeJfA_7_17">427</ix:nonFraction>)</p></td><td style="vertical-align:top;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:5.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" sign="-" scale="3" id="Tc_1Q-SUVRQVUOXwcaFcbK5_Q_7_23">427</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Stock compensation expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_8kWGF2pwP02JxsHVuibzTw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_1vp_V9p8_kmkCTzfRKvVQg_8_8">1,198</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_pvs3gdgizUOqW6XgxloYWg_8_23">1,198</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Stock option exercises and restricted stock unit settlements, net of shares withheld for exercise price and withholding taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_aHf7UIyBWUWuDbGCe9gEHg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="0" id="Tc_TnoPwhqtYk-aNsLBbTDiUA_9_2">21,747</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_8kWGF2pwP02JxsHVuibzTw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" sign="-" scale="3" id="Tc_BakyDezYVESpIVZLQKDeZQ_9_8">367</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_aYX5nFlsDEKic34oPzr_JQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="Tc_7OLKF9rSe0SJF1RGCB-FmA_9_14">527</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="Tc_CnSqPyxu6UaBJrDr2r6Prw_9_23">160</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Common stock repurchases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_aHf7UIyBWUWuDbGCe9gEHg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Tc_LT0fGAlXbEaDJ3oqvuEnsQ_10_2">42,653</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_aYX5nFlsDEKic34oPzr_JQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_GPKFe_-UcEySDoF0_gtp5A_10_14">1,729</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_WMbc5c4t1USCOmLXgbbF8Q_10_23">1,729</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Cash dividends</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;border-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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_wbCCZPSvxkWC_OxdExpgyg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_hjE23aSG80Cvs8e-9DXTUg_11_11">3,987</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;border-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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_3M9-h6B5JkO0l-uz64Qiag_11_23">3,987</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Balances, October&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_t4iJcNnERUimZvDBLpfq0g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="0" id="Tc_Vpp9VMFg90CIK2S70iZqBQ_12_2">13,332,747</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_t4iJcNnERUimZvDBLpfq0g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_kyLd1b7YnEGByy-noMdWzA_12_5">2,374</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_aGbh1bV5UkqsEcK4wEug5w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_id5S474kCUaJVTGdWrr7Dw_12_8">163,154</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_5iFVEnJkx0GzuofOu5o79A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_54nVkdnXvECVaggteVHe5A_12_11">217,486</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_QhTsDPL5t0SWTGIxy8Ht6g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_PEKzKxaAbk-IortYau-xNg_12_14">93,531</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;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:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_531BwNfWbUu4tAuty15tdw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc__9nn1oiSvkSDBkB5PyWOvQ_12_17">4,650</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_kp_We8TG8U-eYso8sen6wg_12_23">284,833</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:31.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="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;margin: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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin: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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin: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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin: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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin: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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</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;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Balances, August 1, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_OFHmxPc070GZY-KEZeH80g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="0" id="Tc_ihWWOrNb-U-iBVfXqOCG9w_14_2">13,884,195</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_OFHmxPc070GZY-KEZeH80g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_3l_lwXzSy0eWSgLrCcENVg_14_5">2,374</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_7ZNwO8v12kaojq7ftRcJBg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_vh6ArhOdvUG3bF8jh-HRSw_14_8">160,229</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_hlKzzz6jekW8XZtcseTyaw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_XcRrsbufN0Cb5NCf4fumCw_14_11">193,205</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_UzQBSB05RkCpQOemQrkifw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_NAkGZkmUgka5WAgQnteOlQ_14_14">73,573</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;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:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Xg36O4FdwUeYP_GsDqxyqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_zyM0rUIQNkew-bFe-6I_yg_14_17">4,402</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_dPAGrK4oo0GoskK-sKNkJA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_Tlq24QsaVkeBjF-iweLtAg_14_20">797</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_7_31_2022_RZh5LLLEkUG-pI2c73VcpA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_ox6LoZ1kz0OeJrPJ7dTBBg_14_23">277,036</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:31.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_GzEObMdRFk6TInF9m59IEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_BfakYPiRIEmc3CoZnjenwQ_15_11">7,758</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc__F6eAAqagkSOmtPCmL4FPA_15_23">7,758</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Foreign currency translation loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_BOZkbGhTSU66xSVInXn-lA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax" sign="-" scale="3" id="Tc_sdn8-CC-KEmwu3we7cLy-A_16_17">650</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax" sign="-" scale="3" id="Tc_HccBPHG62E6lCwXHR7nwiA_16_23">650</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Stock compensation expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_A_pJS21yz0qtS-xUVQi8Eg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_sTdnDm1600-KWYZ6-lUoEQ_17_8">1,076</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc__j93p7UBjUi1exN3RAvqTQ_17_23">1,076</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Common stock repurchases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XN9bK6dAkka2r1d5RoS07A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Tc_Rg0F9hGdWkyX2DAyuDBX3g_18_2">308,423</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_HgkAd9W1qk6RZJjm8x8hQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_eflBOjZAXEa1XtCeZE0J5g_18_14">10,084</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_TVcAnjpTkEmI_UYufIYsiQ_18_23">10,084</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:31.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Cash dividends</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;border-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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_GzEObMdRFk6TInF9m59IEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_FCCRsCZOO0-NeO_FXhsfAw_19_11">3,396</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;border-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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_hqFVJhVMk0-oDM-fE1qy3Q_19_23">3,396</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Balances, October&#160;31,&#160;2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nHF-Tvbu1EGfRzcjf3ZqLw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="0" id="Tc_M83fe2gqOU2wQm6301w2og_20_2">13,575,772</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nHF-Tvbu1EGfRzcjf3ZqLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_aIpsCW4VeUCytOR5vcBMnA_20_5">2,374</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_6gOBTZKko02Ut2etGC5Hrw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_A9BQSYmVB06bxUfiVjtleA_20_8">161,305</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_QfKSuPoU6E6XyK8ASCpcqA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_Fz9eRddLPEeFomjJRq4xBQ_20_11">197,567</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_zOEnqhzLKEmHSGIZBQSRiQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_U-hwtPVCkECV_zqpcyf4-Q_20_14">83,657</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;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:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_w6QI7NDGwUy31pw-umbGNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_O-vxpqFXC0-nkfr46ME8GQ_20_17">5,052</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_KG7MHJWDkUyAB4swVjh1-Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_ClHMqFzm60-JU7Z1CZM9yw_20_20">797</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_sEzkaC23dUi7_ttOk1PLkw_20_23">271,740</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:31.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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.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:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Balances, February 1, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_wVsDYo091kefNR8StzQ4GA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="0" id="Tc_8nHwq_cDAEeImSTwpBv7ZQ_22_2">13,441,590</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_wVsDYo091kefNR8StzQ4GA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_k9PSIzV80kSSI6orcl8E2g_22_5">2,374</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_CXZrrzm7gUWTxo-HJttZUw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_BqrIf--3yEy1whVKqIVDIg_22_8">162,208</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_R_YY9W08wU2hasdEbu810Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_GYGX8T323Ui6dfpwcnXbUA_22_11">207,832</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_bRPCh68zykKMeAIqa8gu3w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_m9DnpDaDlUWdsX92nthkrQ_22_14">88,641</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;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:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_AGdXlZfrJEah56jQv88OYA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_xtbPOy-IIkGPxRtUHPjZLw_22_17">2,876</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_vMSA829rvU6GKKCZtF39BA_22_23">280,897</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_24dXm-Mkg02xeXuBvPiELA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_Mv-ecA1VrEO9vL0TiepPQQ_23_11">20,340</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_DmSLthiuW02oxHAIJDHz_A_23_23">20,340</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Foreign currency translation loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_6cfMBLpg_k6iZ-tf2YJ9FA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax" sign="-" scale="3" id="Tc_u4KVsvrVJECSHOVQLgLZmQ_24_17">627</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax" sign="-" scale="3" id="Tc_JhwcC35RP067ZxuGd8yq2Q_24_23">627</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Net unrealized losses on available-for-sale securities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:5.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_6cfMBLpg_k6iZ-tf2YJ9FA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" sign="-" scale="3" id="Tc_IcFbceBo9Eyq3R9mibE22A_25_17">1,147</ix:nonFraction>)</p></td><td style="vertical-align:top;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:6.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:5.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" sign="-" scale="3" id="Tc_5YqGE29rtU-FQM1RoCvnOQ_25_23">1,147</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Stock compensation expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_diLB4mMMqU2D0ghsnddx2A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_USks3_9U90GON5qADc8vqg_26_8">3,416</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_kVgVPMqXgUSdrWZ7Q8W3yw_26_23">3,416</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Stock option exercises and restricted stock unit settlements, net of shares withheld for exercise price and withholding taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_BE3g4AKCT0icD4KhcQCv3g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="0" id="Tc_x9c2_SCP6ky3G98ZbVshQg_27_2">103,598</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_diLB4mMMqU2D0ghsnddx2A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" sign="-" scale="3" id="Tc_MRqTHhSGsEe9VMR3QuqnnA_27_8">2,470</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_R97tOVX3DE2ZjYeZb7gVdg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="Tc_DNVv84gzokCsH-y0AYkZgw_27_14">3,577</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="Tc_XqUuCgr1REadbXQUEc9eAQ_27_23">1,107</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Common stock repurchases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_BE3g4AKCT0icD4KhcQCv3g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Tc_dGhWpltZsEu9kEjwIZes3Q_28_2">212,441</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_R97tOVX3DE2ZjYeZb7gVdg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_cghDO_MHaEeHXR2EXenqww_28_14">8,467</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_eF1DOgrggU-5Ib18Y-nVQw_28_23">8,467</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Cash dividends</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;border-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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_24dXm-Mkg02xeXuBvPiELA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_Ind9f25K30SO4cWmQG5d2g_29_11">10,686</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;border-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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_7YvGIPC0dkCL5AZq9wEAmQ_29_23">10,686</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Balances, October&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_t4iJcNnERUimZvDBLpfq0g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="0" id="Tc_ZGKlNwElEkGVoS5JnRiIrA_30_2">13,332,747</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_t4iJcNnERUimZvDBLpfq0g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_z4rRY2fQA0ac-nwywjGihA_30_5">2,374</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_aGbh1bV5UkqsEcK4wEug5w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_EZG8CJcvIUiXO21AjtcKGw_30_8">163,154</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_5iFVEnJkx0GzuofOu5o79A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_obOmkWQ-g06dDwDbS6mqPw_30_11">217,486</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_QhTsDPL5t0SWTGIxy8Ht6g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_h4nDNl4o60eArBSz8Q1EPQ_30_14">93,531</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;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:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_531BwNfWbUu4tAuty15tdw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_KuiRn8SfO06qF6OlLY4_Gg_30_17">4,650</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_gzkTnw-WT0Gi_yEPcexkGw_30_23">284,833</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:31.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="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;margin: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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin: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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin: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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin: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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin: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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</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;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Balances, February 1, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cULSIC17AkCREkFgFtRGCQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="0" id="Tc_6sWvMN-YGUmYt4o2odk3Cg_32_2">15,257,688</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cULSIC17AkCREkFgFtRGCQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_evnh2KqJmkapmbEZAXWiCA_32_5">2,368</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_fQ78v0oJMEKfDSnep2hWpA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_BKmqA2ox9EmFkjGbMgjNiQ_32_8">158,190</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_aRTlo58Ugkq6dFtmXgzEZQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_L5mRuqG1kUGVWMMs0C3xFw_32_11">188,690</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_43CEeQDn9kynfTIsOlHFvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_0WdxRuKT7U-LRSPT3HukDA_32_14">20,405</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;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:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_t2rXN_gRN0-7ich39duFsg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc__RwpZyA6zUaj9AXiqqU2sw_32_17">2,451</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_VxbfDfgo6kGGriKZ9jbB7w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_4-x81pfBFUWUX3vdQahyLQ_32_20">797</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2022_0L1krGcOzUK7J45Ax31K4Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_JNwo6A6DC0SgyGppaLtIhA_32_23">325,595</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:31.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_eenrnne7iUOizX1g7Hhw9g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_0Veyl6IKkkWrOmkHTvauBg_33_11">19,465</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_WDnd8isLXUCB97PREc0OGQ_33_23">19,465</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Foreign currency translation loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Zy415mdycka3Tzzrd9ZXXQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax" sign="-" scale="3" id="Tc_1EWRRoBhCEWEgkjiXp9HrQ_34_17">2,601</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax" sign="-" scale="3" id="Tc_nwrLudGYQEOsibOQQbKNfg_34_23">2,601</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:31.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Stock compensation expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_7i4DcXVx0U2Y0RWJKzRFLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_AGihegY7XU2o4d706gGwLg_35_8">3,055</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_0oZPXgWIG0mgkgNIPJJyoA_35_23">3,055</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Stock option exercises and restricted stock unit settlements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_PBr3LQocCU6WC4gEpDjsUg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="0" id="Tc__Pv4KXMIAUKr5T1QniFEnA_36_2">39,099</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_PBr3LQocCU6WC4gEpDjsUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="Tc_AVsUS2aOTkGVsMACtyigFA_36_5">6</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_7i4DcXVx0U2Y0RWJKzRFLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="Tc_MSWkQeP5fUmsH67A9PLgAA_36_8">60</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="Tc_Am35CDLBukm8IO37M6hOeQ_36_23">66</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:31.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Common stock repurchases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_PBr3LQocCU6WC4gEpDjsUg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Tc_Ip3_vPrwskCgXNbDKcLrRw_37_2">1,721,015</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_nNK_0ERsZU63dbCyeQxvow" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_NiFo3YX5eUK49VAg9_I-5A_37_14">63,252</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</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:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_PfOW7Ml64Ea8gjSy8zOf8w_37_23">63,252</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:31.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">Cash dividends</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_eenrnne7iUOizX1g7Hhw9g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_YXy0jVcDckit5Lpikj35SQ_38_11">10,588</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;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="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_Ybw8QQ8tf0-PPuayNr575w_38_23">10,588</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:31.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Balances, October&#160;31,&#160;2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nHF-Tvbu1EGfRzcjf3ZqLw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="0" id="Tc_nLfDPUke90eAdwuHa9Bv2w_39_2">13,575,772</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nHF-Tvbu1EGfRzcjf3ZqLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_JdBiZ0mxAkG1qbuIHByOAA_39_5">2,374</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_6gOBTZKko02Ut2etGC5Hrw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_O0PV4KG7AkS1dmdSR413SQ_39_8">161,305</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_QfKSuPoU6E6XyK8ASCpcqA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_Xt9QYZuQvE-ntG4n05pwKg_39_11">197,567</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_zOEnqhzLKEmHSGIZBQSRiQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_AAw6GD6Lkk6m29XHUWqXMQ_39_14">83,657</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</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:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_w6QI7NDGwUy31pw-umbGNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_29CFFa1yBEqy5pFMjLfmow_39_17">5,052</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_KG7MHJWDkUyAB4swVjh1-Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_E_ZmAwLAnEC7JyLStVhH8w_39_20">797</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;line-height:1.19;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_xtsCi8-HlUeErIfPapSsrw_39_23">271,740</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:8pt 0pt 0pt 0pt;">The accompanying notes are an integral part of these condensed consolidated financial statements.</p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:0pt;text-align:center;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">4</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:84%;border:0;margin:30pt 8% 30pt 8%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_48d184b7_e53f_4b77_a83c_7c3cdc9e867f"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">ARGAN, INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">(Unaudited)</b></p><a id="_ec4789c7_cf86_40da_8981_da4c6c9458ad"></a><a id="Tc_InVyRn-rKUO_5gWzXE8qDQ_1_2"></a><a id="Tc_PF-IC2rzw0u9aCYE0zAZAw_2_2"></a><a id="Tc__PhVfvcS9UC6q5t7J2GkRA_2_5"></a><a id="Tc_yj00yp-9Vk2C1nWM63mB1Q_3_0"></a><a id="Tc_kgIcfdT4t0qaU4F1Z1msUw_4_0"></a><a id="Tc_E4ym3pcn_ku-e2IgtIWnog_4_2"></a><a id="Tc_8Fn3xzTdLEGcK7P2o4Pzlw_4_5"></a><a id="Tc_T1YIqPeHG0K_0e7kJCYd9A_5_0"></a><a id="Tc_0jAIAELMBE6Rtjbho5pkng_6_0"></a><a id="Tc_fg1TLHY5hUuHhf0z74Kplw_7_0"></a><a id="Tc_4b-gnd06mEq7BqRD8ch5AA_8_0"></a><a id="Tc_dqA1-7_XUUuFL0r4-EZl8A_9_0"></a><a id="Tc_L8fkeZjPOEqWFE-9iYrfjg_10_0"></a><a id="Tc_ypJ9oa6ugUeVOqclsBwEHw_11_0"></a><a id="Tc_qHQn8bcIR0in_TAcBULFaA_12_0"></a><a id="Tc_rNz52x0pjEKjWVr1RQFAVw_13_0"></a><a id="Tc_KpoFbHzg1U2PHIGdTkpQ7w_14_0"></a><a id="Tc_RXpY34oHJkK-uD9EYz--AQ_15_0"></a><a id="Tc_yNrD2LnIfUquGTBiadaroA_16_0"></a><a id="Tc_B5wQWMs40E-8YY8cyDSItA_17_0"></a><a id="Tc_uN91dFQ8AUaT6IfYiX7zrA_18_0"></a><a id="Tc_pIXeCat7AEK7GmapZvydLA_19_0"></a><a id="Tc_Yd5k26J3Z0K87YDwqRQSIg_20_0"></a><a id="Tc_KO6kFI5RsUuGgL8hbs2ffw_22_0"></a><a id="Tc_TZqQIRTzi0q2ZEdBfVyCnw_23_0"></a><a id="Tc_D6HP7HOAw0uXRHMz3Dve_Q_24_0"></a><a id="Tc_G5UN6HMKQ0OSQOTKwgX1fQ_25_0"></a><a id="Tc_1UvudU0d3EaE0Naw8iLOLQ_25_6"></a><a id="Tc_U51fYaadKUyDu84-WCoZtQ_26_0"></a><a id="Tc_rge24E5NhUu02c0jk_Xxag_27_0"></a><a id="Tc_dFWZ4r66_Eu7crTBtYu-pw_29_0"></a><a id="Tc_N9EYm-_HnU-cvvhOtRMw8g_30_0"></a><a id="Tc_TcR4HNq-w0yRw-PK1UCG3A_31_0"></a><a id="Tc_EkHFwHM5x0KaxvlQUUxFlQ_32_0"></a><a id="Tc_mu0i3mwcikGZJX83_8R1zA_33_0"></a><a id="Tc_BQpYryJVW0GkZTgrvhC7sQ_35_0"></a><a id="Tc_m2ywliCxVkOLxx9OsvfsCA_36_0"></a><a id="Tc_47LNSc5uu0u9p5KnVtaS8g_37_0"></a><a id="Tc_g9X_hZxbZE2vL4fHt1SBXw_38_0"></a><a id="Tc_zwKc86ZyPUmMNEGFEbF5tw_38_2"></a><a id="Tc_BXire2FzfEijswxo4XnjPg_38_5"></a><a id="Tc_3gPi8uOhlEiPpsw17GYxFQ_40_0"></a><a id="Tc__NLZdNG8akSvxSy1tsSK2A_41_0"></a><a id="Tc_AB3GV3_GQEGToMPCzw28Gg_41_2"></a><a id="Tc_NgfpNzqU6kuIMHTqVvPyAA_41_5"></a><a id="Tc_I8tYiRij7kCnVg5603KA1A_42_0"></a><a id="Tc_p5ceTTla6E-G8Z3jRGL_DA_43_0"></a><a id="Tc_oAXkvWcvtUiKwixMVTQerA_43_2"></a><a id="Tc_z1DLZiYglEGCa8pf4j7c1g_43_5"></a><a id="Tc_E1JyHuOZDkG94Y3mYGurAA_44_0"></a><a id="Tc_G0wpxiEO-0GRg0X1v9TUWQ_44_2"></a><a id="Tc_u25Zk3iqwEiprsHsaf1T7w_44_5"></a><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:69.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.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-weight:bold;visibility:hidden;">&#8203;</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;">&#160;&#160;&#160;&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.93%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended October&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.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-weight:bold;visibility:hidden;">&#8203;</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;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.92%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.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;"><b style="font-weight:bold;">CASH FLOWS FROM OPERATING ACTIVITIES</b></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.01%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_ZbaH8W9pPE6SRgKEegdYlg_4_3">20,340</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_ME5cuihKCU2Pvtj7ZK3igg_4_6">19,465</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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;">Adjustments to reconcile net income to net cash provided by (used in) operating activities</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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;">Stock compensation expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_VAmXaILDAkaLlfuK_EYcQQ_6_3">3,416</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_6sUIBWD79Uyx6DG-iEERsg_6_6">3,055</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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 12pt;">Changes in accrued interest on 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccruedInterestReceivableNet" scale="3" id="Tc_pjPLqt36BE6Mzy30XS6nlA_7_3">1,876</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccruedInterestReceivableNet" scale="3" id="Tc_xNwNsuGEA0i5LVkK3o382w_7_6">790</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.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;">Depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_qObS6xJ26EuYwEX4HHEWtA_8_3">1,524</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_9McExGvb5EGQqPFcA6K_CQ_8_6">2,296</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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 12pt;">Lease 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_--nzUbpWp0SYeVIoJ1mZpw_9_3">1,335</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_t2EkmV87UU6C8NmLEjd2zA_9_6">1,871</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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;">Deferred income tax expense (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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_FySknw6K402nY2sTlIcocQ_10_3">497</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_rfUmN7cXnkC6685ia70uIA_10_6">209</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.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 12pt;">Amortization of intangible assets </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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Tc_nBEi4LxHJkCAfCJe1f77Pg_11_3">294</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Tc_NTyx16omhEydMULu0rbZPA_11_6">611</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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;">Equity in loss (income) of solar energy investments</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" sign="-" scale="3" id="Tc_-BM6VKAzaUyW169DziTLYw_12_3">130</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_lIbbiqByNkGj_l2Vn7unqQ_12_6">1,112</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.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 12pt;">Other </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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNoncashIncomeExpense" sign="-" scale="3" id="Tc_Z5qYNZX6f0yFlBsBbND8Yw_13_3">157</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNoncashIncomeExpense" sign="-" scale="3" id="Tc_B96zAes72EyCZQInhJisEQ_13_6">20</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:69.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Changes in operating assets and liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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 12pt;">Accounts receivable</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" sign="-" scale="3" id="Tc_Xv2EX1yqdk2stuBdAwxRNw_15_3">168</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="Tc_kOAbsF_np0WwcYuwLTTvzA_15_6">10,921</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.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;">Contract assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" scale="3" id="Tc_36INQydcLE6Q3JH6_IR0dA_16_3">613</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" scale="3" id="Tc_X6WGkrFsc0GUavtRcfAF2Q_16_6">6,647</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.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 12pt;">Other assets</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="3" id="Tc_TCJ6fb1rCkmBB7tNtAdx6Q_17_3">2,977</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" sign="-" scale="3" id="Tc_NyzgQfnP7ECjMZ3NWNXkNQ_17_6">6,184</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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;">Accounts payable and accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" scale="3" id="Tc_fEgIK6rDMESf1FbzCeOrcA_18_3">9,960</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" sign="-" scale="3" id="Tc_floDJIenq0eBhJRh-uUtZw_18_6">7,952</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.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 12pt;">Contract liabilities</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="Tc_X6_ue8jl4k2tylk0j9KBvg_19_3">59,908</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" sign="-" scale="3" id="Tc_m3kHqcUIvU2UKIN35fs28A_19_6">78,859</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.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 24pt;">Net cash provided by (used in) operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_o33l4CKnl0O59cYCxnC2iw_20_3">92,263</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;border-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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" sign="-" scale="3" id="Tc_wMdaKoqopUSuFPYIthzNTw_20_6">72,988</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.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 24pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;background:#cceeff;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">CASH FLOWS FROM INVESTING ACTIVITIES</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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 12pt;">Purchases of 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireHeldToMaturitySecurities" scale="3" id="Tc_7m3RgdLUj0mi8G-fh2u_7A_23_3">115,000</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireHeldToMaturitySecurities" scale="3" id="Tc_GuGbq7NEh0GAqz6Y3IG74g_23_6">249,750</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.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;">Maturities of short-term investments</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfHeldToMaturitySecurities" scale="3" id="Tc_8tgt-31VgEuIpUK7gBrALQ_24_3">159,750</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfHeldToMaturitySecurities" scale="3" id="Tc_7jPTRhVYS06eDyweRR1uLw_24_6">190,000</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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 12pt;">Purchases of available-for-sale securities</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt" scale="3" id="Tc_WyUpmftI7ESlRqs5yQTiuw_25_3">104,492</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:69.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;">Purchases of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;border-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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_ZsvOmXdJxUSqXnV7yGZoog_26_3">2,143</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;border-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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_UuxD5GI4FkyUikChNn41ug_26_6">2,582</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.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 24pt;">Net cash used in investing activities</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_iPF6LrIBPk6UTWb72-Dbmw_27_3">61,885</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_tvwOflw_o0iFhHeeJ5OZvQ_27_6">62,332</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.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 24pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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;"><b style="font-weight:bold;">CASH FLOWS FROM FINANCING ACTIVITIES</b></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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;">Common stock repurchases</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="Tc_6T2O-oLK30iOaejINFenFg_30_3">8,467</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="Tc_1Dq8n-F-FUm93iLRw_naMA_30_6">63,252</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.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 12pt;">Payments of cash dividends</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfDividendsCommonStock" scale="3" id="Tc_rOBR9VA2c0e58BESPgCDjw_31_3">10,686</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfDividendsCommonStock" scale="3" id="Tc_3ZiOPXBoNUiEncaSs-BIrw_31_6">10,588</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.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;">Proceeds from share-based award settlements</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_7nbacxBpKE6N29nBSZe_8Q_32_3">1,107</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_HZP6ryJkJUa6K7wWyvCOSQ_32_6">66</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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 24pt;">Net cash used in financing activities</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="3" id="Tc_7AKFcEQVCk-y_iskcOU-Rg_33_3">18,046</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="3" id="Tc_xHx8P6PEKEyWyIxW5g9hkQ_33_6">73,774</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.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="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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;"><b style="font-weight:bold;">EFFECTS OF EXCHANGE RATE CHANGES ON CASH</b></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" sign="-" scale="3" id="Tc_XmIV52xSP0K7kzli15r3NQ_35_3">710</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" sign="-" scale="3" id="Tc_Hbx6ImXe_E-2FxZ3jwVy7Q_35_6">5,313</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="Tc_YflXWaAJcUiVEUAuFTr-mw_36_3">11,622</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_xHt13h-Fq0OWdcLIsbPyig_36_6">214,407</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.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;"><b style="font-weight:bold;">CASH AND CASH EQUIVALENTS, BEGINNING OF PERIOD</b></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_849oZ_xztkqoeK3vNsgAHw_37_3">173,947</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2022_0L1krGcOzUK7J45Ax31K4Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_xKlzl_PkFkmpmvW7WEHxyA_37_6">350,472</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:69.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">CASH AND CASH EQUIVALENTS, END OF PERIOD</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:3px 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:11.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_3ZjWEuRVGkSlofvZk7c5qQ_38_3">185,569</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:3px 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:11.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_2qsSG41j20CZk3i0VMuUGA_38_6">136,065</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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;"><span style="font-weight:bold;visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;background:#cceeff;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">NON-CASH INVESTING AND FINANCING ACTIVITIES</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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;">Right-of-use assets obtained in exchange for lease obligations</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px 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:11.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="Tc__kD72uVWzkuVpPJrQkLd2g_41_3">706</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:3px 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:11.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="Tc_EtS7UNZt5kiRESoUXRlphg_41_6">935</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:69.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">SUPPLEMENTAL CASH FLOW INFORMATION</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.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;">Cash paid for income taxes</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px 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:11.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaid" scale="3" id="Tc_X6z8hUBAh023ZlcTngsQxQ_43_3">7,022</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:3px 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:11.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaid" scale="3" id="Tc__gS7IovWIUGLvBZJgZs84A_43_6">6,310</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Cash paid for operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:3px 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:11.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="agx:OperatingLeasesPaid" scale="3" id="Tc_2icq6UG9-0S-x6-L-lvU2w_44_3">1,340</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:3px 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:11.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="agx:OperatingLeasesPaid" scale="3" id="Tc_GnqWrhzcZ0a5txt8ZyC4wA_44_6">1,869</ix:nonFraction></span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:8pt 0pt 0pt 0pt;">The accompanying notes are an integral part of these condensed consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;line-height:1.19;margin:0pt;">&#160;</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">5</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_54c1452b_9ba4_4bcf_bdef_fa0cde14e5ae"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">ARGAN, INC. AND SUBSIDIARIES </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">OCTOBER 31, 2023 </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Tabular dollar amounts in thousands, except per share data)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">(Unaudited) </b></p><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" id="Tb_8rrSqzAbAEKwQgo6B7KX_w" continuedAt="Tb_8rrSqzAbAEKwQgo6B7KX_w_cont1" escape="true"><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 &#8211; DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION </b></p><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:ConsolidationPolicyTextBlock" id="Tb_EVqEreqie0aGFOBLXuYBnQ" escape="true"><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. (&#8220;Argan&#8221;) conducts operations through its wholly-owned subsidiaries, Gemma Power Systems, LLC and affiliates (&#8220;GPS&#8221;); The Roberts Company, Inc. (&#8220;TRC&#8221;); Atlantic Projects Company Limited and affiliates (&#8220;APC&#8221;) and Southern Maryland Cable, Inc. (&#8220;SMC&#8221;). Argan and these consolidated subsidiaries are hereinafter collectively referred to as the &#8220;Company.&#8221; </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 customers include 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 &#8220;U.S.&#8221;), the Republic of Ireland (&#8220;Ireland&#8221;) and the United Kingdom (the &#8220;U.K.&#8221;). GPS and APC represent the Company&#8217;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></ix:nonNumeric><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="Tb_lFWB56rAjU6qWM7jQr3GlQ" continuedAt="Tb_lFWB56rAjU6qWM7jQr3GlQ_cont1" escape="true"><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 (&#8220;VIE&#8221;) 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&#8217;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&#8217;s fiscal year ends on January 31 each year. The condensed consolidated balance sheet as of October 31, 2023, the condensed consolidated statements of earnings and stockholders&#8217; equity for the three and nine months ended October 31, 2023 and 2022, and the condensed consolidated statements of cash flows for the nine months ended October 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 &#8220;SEC&#8221;). 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 (&#8220;U.S. GAAP&#8221;) 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&#8217;s report thereon, that are included in the Company&#8217;s Annual Report on Form 10-K for the fiscal year ended January 31, 2023 (&#8220;Fiscal 2023&#8221;).</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 October 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></ix:nonNumeric></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">6</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_Hlk136363276"></a><ix:continuation id="Tb_8rrSqzAbAEKwQgo6B7KX_w_cont1" continuedAt="Tb_8rrSqzAbAEKwQgo6B7KX_w_cont2"><ix:continuation id="Tb_lFWB56rAjU6qWM7jQr3GlQ_cont1"></ix:continuation><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="Tb_K7dWHqzjB02lO9Q-5hEIsg" escape="true"><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 &#8220;FASB&#8221;) issued Accounting Standards Update (&#8220;ASU&#8221;) 2023-02, <i style="font-style:italic;">Investments&#8212;Equity Method and Joint Ventures (Topic 323): Accounting for Investments in Tax Credit Structures Using the Proportional Amortization Method </i>(&#8220;ASU 2023-02&#8221;), 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&#8217;s investments in energy tax credit structures entered into prior to Fiscal 2023 do not qualify for the proportional amortization method allowed 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;">In November 2023, the FASB issued ASU 2023-07, <i style="font-style:italic;">Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</i> introducing key amendments to enhance disclosures in public entities&#8217; reportable segments. Notable changes include the mandatory disclosure of significant segment expenses regularly provided to the chief operating decision maker (&#8220;CODM&#8221;), disclosure of other segment items, and requirements for consistency in reporting measures used by the CODM. The amendments in this update are effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the effects, if any, that the adoption of ASU 2023-07 may have on its financial position, results of operations, cash flows, or disclosures.</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></ix:nonNumeric><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="agx:AvailableForSaleSecuritiesPolicyTextBlock" id="Tb_HVI4NQiyYk-70ie3Zf2HgQ" escape="true"><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 (&#8220;AFS&#8221;) securities are stated at fair value, as presented below, 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, and realized gains and losses are included in other income or expense, as applicable, in the Company&#8217;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 (&#8220;ASC&#8221;) 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 that the Company would be required to sell the AFS security before recovery, impairment is recognized in earnings with a corresponding adjustment to the security&#8217;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></ix:nonNumeric><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:FairValueMeasurementPolicyPolicyTextBlock" id="Tb_6M37ZMZn4kChE9THNUHbfQ" continuedAt="Tb_6M37ZMZn4kChE9THNUHbfQ_cont1" escape="true"><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 &#8211; 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 &#8211; 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 &#8211; Inputs are unobservable inputs based on a company&#8217;s own assumptions.</p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">7</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_gzNcdKL4TEWXL_IAnjYgXQ_1_2"></a><a id="Tc_rJZZnikDjU6dtU7IGwsgpw_1_11"></a><a id="Tc_7anlKK66iUKwhJQj0IjLww_2_2"></a><a id="Tc_BD91GWq1Gkym2KzXz5cO3A_2_5"></a><a id="Tc_b7ANSMbwjk-YbOd0zgCCoA_2_8"></a><a id="Tc_wo03FYM-DkSDJQFtFxwAxw_2_11"></a><a id="Tc_Gt8m1l70OkKOCtxw8Nk-KQ_2_14"></a><a id="Tc_Ouj79p-vh0y40nNP2zo7Og_2_17"></a><a id="Tc_scTw2Y4nsUi8imkqMul9Bg_3_2"></a><a id="Tc_h9o7W75IAkeJo-5FTfM8bQ_3_5"></a><a id="Tc_YtncafpZPkOO7A-HxwaLzg_3_8"></a><a id="Tc_7AqEdArNW0SBX5a1SKNHpA_3_11"></a><a id="Tc_9Refs6QbXkWA-bMjiwvQVQ_3_14"></a><a id="Tc_izkJprcOYkCMcEeB6fdYRg_3_17"></a><a id="Tc_fCtxM_SBtEmGkl7AW2rtCA_4_0"></a><a id="Tc_wdpIUMYxmEyc9H5-UdZtlA_5_0"></a><a id="Tc_JaY_Us8ceUWE5hlHXq9rUw_5_2"></a><a id="Tc_3sz9AxS_C06FtV3GisMl2A_5_5"></a><a id="Tc_AgJ3x4uuAE-2kjuxFWiq8g_5_6"></a><a id="Tc_l113EPf250SYOlPc_jfS8Q_5_8"></a><a id="Tc_LssC-7uaGE6Q82PZ4KTy9A_5_9"></a><a id="Tc_H-5ULjHzM0OjdOUfF7U5kQ_5_11"></a><a id="Tc_BfJCjpcjzUq6yKujGvzs5g_5_14"></a><a id="Tc_VVRUI5lIxE--RcM5zjnfog_5_15"></a><a id="Tc_r5yxzU7lDkmyzxLzEtKAEQ_5_17"></a><a id="Tc_oWwyladPqk-Jm0vbATPfBA_5_18"></a><a id="Tc_3Mdv8LG4BUyVmdnnfo0OQA_6_0"></a><a id="Tc_18mkF00RfE-PfF2f_Q6iww_7_0"></a><a id="Tc_QvU7j93QSkmfv-n_4JxbOA_7_3"></a><a id="Tc_bogxVp5HNUyRmg3jM6ql3w_7_9"></a><a id="Tc_Q_pY0nIMlUSr6h7tuOXI3A_7_12"></a><a id="Tc_1dVW6KaetECkSCqIF5o57g_7_15"></a><a id="Tc_Is6ZxOLrvk-9RAJL4D8MPQ_7_18"></a><a id="Tc_sLg9QMfLaU6YJS9LSMAlxw_8_0"></a><a id="Tc_DtU0zhFoJ0SLCuJ56eIqtQ_8_3"></a><a id="Tc_7E9Yb5qz-EKiPAXIFbtEuQ_8_9"></a><a id="Tc_CKudW-8Ne0aB5pN_Xh-GqQ_8_12"></a><a id="Tc_a1Ayvj1LVk2g-HqvPdmNeg_8_15"></a><a id="Tc_r4Gjw0Ptc0iCb1vfZpftbw_8_18"></a><a id="Tc_IAyap-ZcwUC_FuZJ2cTUhQ_9_0"></a><a id="Tc_CyTu7d1LZkaLP7Sbjvzzcg_9_2"></a><a id="Tc_p3NEe77T6Uu9tK3PsI4INA_9_5"></a><a id="Tc_8YbtkvynpkWm8L4Kf8Qvzg_9_8"></a><a id="Tc_Eefo4GQExEi3CcUed7G_0g_9_9"></a><a id="Tc_Byqx7hHVrEK_P5bsvcQzyA_9_11"></a><a id="Tc_Tkkh6FIYqEKCiG_fjkP2AA_9_14"></a><a id="Tc_dXwCMuawqkyJn_cN6Z-ESw_9_15"></a><a id="Tc_AK5W5JWsR0-oejW4Cdw60Q_9_17"></a><a id="Tc_YsMJ6ecd9kaiQOS_C5HhJA_9_18"></a><ix:continuation id="Tb_8rrSqzAbAEKwQgo6B7KX_w_cont2"><ix:continuation id="Tb_6M37ZMZn4kChE9THNUHbfQ_cont1"><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&#8217;s financial instruments as of October 31, 2023 and January 31, 2023 that are measured and recorded at fair value on a recurring basis:</p><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock" id="Tb_WZa-lDM3pU-ri8JebJgS8w" escape="true"><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;">&#8203;</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:87.88%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:29.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:29.29%;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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.01%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.01%;border-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:center;margin:0pt;"><b style="font-weight:bold;">January&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;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;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;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;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;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;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;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;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;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;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;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;"><b style="font-weight:bold;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Cash equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.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 6pt;">Money market fund</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_MoneyMarketFundsMember_N2vYUWT7yUOBs7l345GqUA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="Tc_O_5GgShx6EOH1ZrzhL1v1g_5_3">127,022</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_MoneyMarketFundsMember_1xj-kM2W-kyCGBZzyvK1kA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="Tc_5pYpkNv4fEqL4VJ-GYW_dA_5_12">68,647</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:29.29%;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.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.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 6pt;">U.S. Treasury notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_cJkE9UEetkadiXKJWJVOyQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="Tc_5gj6cha8FkCkyvwjqfyRow_7_6">94,700</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:29.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 6pt;">U.S. corporate debt security</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_DomesticCorporateDebtSecuritiesMember_PFbvV6whs0izkW7oLuWsag" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="Tc_Mmvtcwwig0Kk8VcRwHVhbA_8_6">9,217</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-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;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:29.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;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px 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.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_ipRTsEGczUKt6yz_oAs3sA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="Tc_xqvNmTEgB0i9PgDUyziqcA_9_3">127,022</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px 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.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_lpGpOBowe0mPsFRsucdSAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="Tc_EoXGeUpA8kyQPKUNsw0bYw_9_6">103,917</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px 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.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px 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.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_467ma05pu0yUZKnF0WQYKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="Tc_m-Z5ojnsXkWk7KcJAvQlRA_9_12">68,647</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px 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.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px 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.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr></table></ix:nonNumeric><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;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;">The carrying value amounts presented in the condensed consolidated balance sheets for the Company&#8217;s other current assets, including cash, certificates of deposit (&#8220;CDs&#8221;), 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></ix:continuation><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="agx:TreasuryStockPolicyTextBlock" id="Tb_gEeYj0FkWkSk4dO4XO1RJw" escape="true"><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;">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 shares of treasury stock provided for settlements or sold at a price higher than its cost, the gain is recorded to additional paid-in capital. For shares of 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 the account. Any losses in excess of that amount are recorded to retained earnings. </p></ix:nonNumeric></ix:continuation><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="Tb_Don0Cc60ikKNfJV4qrcPNQ" continuedAt="Tb_Don0Cc60ikKNfJV4qrcPNQ_cont1" escape="true"><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 2 &#8211; 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&#8217;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&#8217;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&#8217;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. For a project being performed by APC to construct a gas-fired power facility in Northern Ireland, an estimated loss at completion of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_dei_LegalEntityAxis_agx_AtlanticProjectsCompanyLimitedMember_srt_ProductOrServiceAxis_agx_KilrootProjectMember_4JFEAsBveUK8evsJo9TzLA" decimals="-5" format="ixt:numdotdecimal" name="agx:EstimatedLoss" scale="6" id="Narr_a3rbQ27BOUyo52JpwlgVqA">7.9</ix:nonFraction> million was recognized during the quarter ended October 31, 2023. Accordingly, APC recorded a loss during the three-month period ended October 31, 2023, in the amount of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_dei_LegalEntityAxis_agx_AtlanticProjectsCompanyLimitedMember_srt_ProductOrServiceAxis_agx_KilrootProjectMember_4JFEAsBveUK8evsJo9TzLA" decimals="-5" format="ixt:numdotdecimal" name="agx:EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears" scale="6" id="Narr_Zkk61zpue02dovqQpdhzHw">10.7</ix:nonFraction> million, which includes an unfavorable adjustment of estimated gross profit of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_dei_LegalEntityAxis_agx_AtlanticProjectsCompanyLimitedMember_srt_ProductOrServiceAxis_agx_KilrootProjectMember_4JFEAsBveUK8evsJo9TzLA" decimals="-5" format="ixt:numdotdecimal" name="agx:ReversalOfProfitLossRecordedInPriorPeriods" scale="6" id="Narr_qYuipkmh60urc-kpfVTRSg">2.8</ix:nonFraction> million recorded in previous periods. For the nine-month period ended October 31, 2023, the recorded loss related to the contract is $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_dei_LegalEntityAxis_agx_AtlanticProjectsCompanyLimitedMember_srt_ProductOrServiceAxis_agx_KilrootProjectMember_HDUER1KQ1EiAeqUqsbpE0g" decimals="-5" format="ixt:numdotdecimal" name="agx:EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears" scale="6" id="Narr_xnHphUKk-U-wGwYhn_cxuw">11.5</ix:nonFraction> million, which includes an unfavorable adjustment of estimated gross profit recorded in the prior year in the amount of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_dei_LegalEntityAxis_agx_AtlanticProjectsCompanyLimitedMember_srt_ProductOrServiceAxis_agx_KilrootProjectMember_HDUER1KQ1EiAeqUqsbpE0g" decimals="-5" format="ixt:numdotdecimal" name="agx:ReversalOfProfitLossRecordedInPriorPeriods" scale="6" id="Narr_y8PQUd-Y2UCifotkh3ZL_Q">3.6</ix:nonFraction> million. This project is expected to be completed by APC early next year. </p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">8</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_Don0Cc60ikKNfJV4qrcPNQ_cont1" continuedAt="Tb_Don0Cc60ikKNfJV4qrcPNQ_cont2"><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&#8217;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&#8217;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 0pt 8pt 0pt;">The Company&#8217;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&#8217;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 three and nine months ended October 31, 2023 and 2022, there were no significant 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&#8217;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 nine months ended October 31, 2023 and 2022, that were included in the balances of contract liabilities as of January 31, 2023 and 2022, respectively, were approximately $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" id="Narr_AEOVbH4HKEOJ5QQvsn3RHg">94.2</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" id="Narr_v4Ym8px2x0KTyM_EAZHJoQ">127.6</ix:nonFraction> million, respectively. The amounts of revenues recognized during the three months ended October 31, 2023 and 2022 that were included in the balances of contract liabilities as of July 31, 2023 and 2022, respectively, were approximately $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" id="Narr_iSicXtpaxUy26Wauy88Dhw">53.8</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" id="Narr_2YnJ6UZJ_kuBFKxJ4wZLiA">48.7</ix:nonFraction> 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 October 31, 2023 and January 31, 2023 were $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-5" format="ixt:numdotdecimal" name="agx:RetainedAmountUnderConstructionContracts" scale="6" id="Narr_jB1B_j7AF0mQReWHFAcgzA">19.2</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-5" format="ixt:numdotdecimal" name="agx:RetainedAmountUnderConstructionContracts" scale="6" id="Narr_kkFtkyGTPUO5D0BfewSHFw">49.1</ix:nonFraction> 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&#8217;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 October 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 $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-5" format="ixt:numdotdecimal" name="agx:NPricedChangeOrdersIncludedInTransactionPrices" scale="6" id="Narr_QZnLtN60ekmEZAEK5ZUGXQ">6.7</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-5" format="ixt:numdotdecimal" name="agx:NPricedChangeOrdersIncludedInTransactionPrices" scale="6" id="Narr_Hfehyk8bTUaXRFxjVVvy0Q">11.6</ix:nonFraction> million, respectively. Variations related to the Company&#8217;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></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">9</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_Don0Cc60ikKNfJV4qrcPNQ_cont2" continuedAt="Tb_Don0Cc60ikKNfJV4qrcPNQ_cont3"><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&#8217;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&#8217;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 0pt 8pt 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&#8217;s activities and progress are adversely affected by delayed or damaged materials, challenges with equipment performance or other events out of the Company&#8217;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 (&#8220;RUPO&#8221;)</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&#8217;s customer contracts include the right for customers to terminate contracts for convenience. The value of future work that 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. These types of arrangements do not qualify as RUPO. Predominantly, the Company&#8217;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 October 31, 2023, the Company had RUPO of $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_agx_cnst_date_20231101_f0dFuGrR1EWi8R0HXFKP2A" decimals="-8" format="ixt:numdotdecimal" name="us-gaap:RevenueRemainingPerformanceObligation" scale="9" id="Narr_YrPYi9lSmUefCYZclEmjMw">0.7</ix:nonFraction> billion. The largest portion of RUPO at any date usually relates to engineering, procurement and construction (&#8220;EPC&#8221;) service and other construction contracts with typical performance durations of one to three years. However, the length of certain significant construction projects may exceed <ix:nonNumeric contextRef="As_Of_10_31_2023_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_agx_cnst_date_20231101_f0dFuGrR1EWi8R0HXFKP2A" format="ixt-sec:durwordsen" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Narr_6SzmLkVHWU2GCmg1H2AO6Q">three years</ix:nonNumeric>. The Company estimates that approximately <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="As_Of_10_31_2023_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_agx_cnst_date_20231101_f0dFuGrR1EWi8R0HXFKP2A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:RevenueRemainingPerformanceObligationPercentage" scale="-2" id="Narr_Iu35WLfbNkqdEX8DWpi5KQ">21</ix:nonFraction>% of the RUPO amount at October 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 (&#8220;Fiscal 2024&#8221;). Most of the remaining amount of the RUPO amount at October 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;">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 October 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 </p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">10</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_9G1thLTZg0S39PhhquCxJg_1_2"></a><a id="Tc_f8FFB9oAgkWXu6f8wp3IxQ_1_9"></a><a id="Tc_i7kT8pCsZ0SmFyKgLx1iug_2_2"></a><a id="Tc_IJch8lGtLkGUXx92RQ5HoQ_2_5"></a><a id="Tc_9EDXJz6W5EGn0yWJdu698Q_2_9"></a><a id="Tc_4ZcqII-REU2BV0u37JU9ww_2_12"></a><a id="Tc_gd83VXvvqk2Z_GXkitZMeg_3_0"></a><a id="Tc_LkSJmOYx4UmaWEDVKVc8yQ_3_2"></a><a id="Tc_pzahI97VCk-YFiuBxZ_isQ_3_5"></a><a id="Tc_hpbFReihvk6pWVyhu7XfgQ_3_9"></a><a id="Tc_9T1rt1m330-aYI5_ZMbVlQ_3_12"></a><a id="Tc_gwaK1_lY80KlSB2uE1io6g_4_0"></a><a id="Tc_d2mIPouJpUe4XaQ-snNhCA_5_0"></a><a id="Tc_mcgh7DA6aEmh8ijk0UZp5g_6_0"></a><a id="Tc_f-o3sd3iuU6-hTgYHTxdwA_6_2"></a><a id="Tc_jfOQIpClFES5eTGFLRwUMg_6_5"></a><a id="Tc_XaAwub4W50qfV0_h2NY2BA_6_9"></a><a id="Tc_hmT6bmW4SkCiTJEEq8QM9g_6_12"></a><ix:continuation id="Tb_Don0Cc60ikKNfJV4qrcPNQ_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">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 nine months ended October 31, 2023 and 2022, disaggregated by the geographic area where the corresponding projects were located:</p><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="Tb_WUqq3XeefUqlpW3kBmkcFA" escape="true"><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;">&#8203;</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:85.55%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:26.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:26.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.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:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended October&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.81%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended October&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.84%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.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:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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-weight:bold;visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.24%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.22%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.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;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_US_JM0zl5FnBEi9X8k6zzP9dw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_T2-iYTSJIUGKCY7455j0rA_3_3">92,066</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;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.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_US_Jy0x8AOi5EeHztHQfrachQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_MRcWYL-7iU2lFeh7Ft_2QA_3_6">81,810</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;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.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_US_Lg3OB5LTFkKvZTY_syzI0Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_wmQZdWn9Jkyk-WAOqpSmSw_3_10">239,866</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;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.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_US_fp92KtoXAEmdLGBx0kF9iw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_eHx0aPX2IEq1_GsZ7eLuAw_3_13">256,031</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:26.15%;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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_IE_xieRSBauK02EwwzpwPmtWw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_8x-MCTYKw0eisaqoc8tQzQ_4_3">68,359</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_IE_kqPcWlDgtU20eUhhIXiAag" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_iq6MEP9_lkS8i7HOSl8vSA_4_6">21,833</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_IE_qQplgu3MBU-s796Wqo4PoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_uTcm78_NQE67FWtE6uCAIA_4_10">139,014</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_IE_JWa78aVVikSfpr7XPPFPBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_jSj6uerrO024Lp0kzkX_9g_4_13">47,019</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:26.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;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_GB_OdAfCNas7keHP5KsiWR5kQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_ByflsqIlQkWSlCDuxDh7Gg_5_3">3,330</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_GB_adAO0Qpb00e5py96y3qITA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_QSav0yHAA0m-_5Ee-JWl7A_5_6">14,232</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.13%;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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_GB_XOkIYnM2c0CuFGGfLPrn8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_-pS2T8T9GUeFv24uvO9-ew_5_10">29,899</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_GB_dquM4aXBwEOb5ybWMRMWxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_qKuMuAX8zkW9WkgxvxR8aA_5_13">33,212</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:26.15%;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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_HPnwUGbi1kuHG3KQGApGsQ_6_3">163,755</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px 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:13.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;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_yFwbnD_laUSZfuraoNCnEw_6_6">117,875</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;border-bottom:3px 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:13.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc__mi9lMFn9Em9t2k-IgKWdQ_6_10">408,779</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:3px 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:13.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_yyjADqZYnESbsCrEZxVDWg_6_13">336,262</ix:nonFraction></p></td></tr></table></ix:nonNumeric><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;">&#8203;</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&#8217;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></ix:continuation><a id="Tc_PGIlX_tatUa5e32VVh3KbA_1_2"></a><a id="Tc_SQXuqSoi60-HWpOEf1sA9A_1_5"></a><a id="Tc_f_WQirCH_UesbLqOUNG_mw_2_2"></a><a id="Tc_E2Z_CcR04UGvIZHLKqrJjw_2_5"></a><a id="Tc_jaOT57hUEEakWBGYIihI9g_3_0"></a><a id="Tc_wQO4aBQivEuX4GaTdzBI9Q_3_2"></a><a id="Tc_ltY0emnRQEuY3AsodT_2uQ_3_5"></a><a id="Tc_z8Cn9cR5uk6hrcvhRksiuA_4_0"></a><a id="Tc_YBgeY-Ae4Ea3ZaZ7dcX89w_4_6"></a><a id="Tc_-8lMi2ut7EGDtHvG3MNgFQ_5_0"></a><a id="Tc_zlrvO_5W8USpjUCZzsfgCQ_5_2"></a><a id="Tc_5X_fGc2Pq0OS4uFcoAeMdQ_5_5"></a><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock" id="Tb_lqxWycBqDEOp1pZSb_MH1Q" continuedAt="Tb_lqxWycBqDEOp1pZSb_MH1Q_cont1" escape="true"><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 3 &#8211; 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 October 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, including 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 October 31, 2023 and January 31, 2023 were $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-5" format="ixt:numdotdecimal" name="agx:AccruedInvestmentIncomeDividendReceivable" scale="6" id="Narr_hT8uyB4X3k2k9-31TqZN1g">0.5</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-5" format="ixt:numdotdecimal" name="agx:AccruedInvestmentIncomeDividendReceivable" scale="6" id="Narr_9fEz345vl0KJI8wSE4rWew">0.3</ix:nonFraction> 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&#8217;s investments consisted of the following as of October 31, 2023 and January 31, 2023:</p><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:InvestmentTableTextBlock" id="Tb_N555CBVAskuKrobYCT3vdQ" escape="true"><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;">&#8203;</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:67.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;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;"><b style="font-weight:bold;">October&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;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;"><b style="font-weight:bold;">January&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermInvestments" scale="3" id="Tc_pRAah_JW_02NnT4qeHWSHA_3_3">108,029</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermInvestments" scale="3" id="Tc_E95v829xrUu1E1OzWk3GUw_3_6">151,511</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="Tc_WdOYFoVavkqxJ7KBTrXehQ_4_3">103,917</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Investments" scale="3" id="Tc_75F5tUv9-0yVLx_h5c0Pmw_5_3">211,946</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px 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:11.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Investments" scale="3" id="Tc_a-sTfXe1mk6Pxmh6Fl6OtA_5_6">151,511</ix:nonFraction></span></p></td></tr></table></ix:nonNumeric><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;">&#8203;</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;"><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 October 31, 2023 and January 31, 2023 consisted solely of CDs with weighted average maturities of <ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_LKMIB-vZrUCVbq6S3eVMqA" format="ixt-sec:durwordsen" name="agx:InvestmentMaturityPeriod" id="Narr_MZcTiJ5gfUWh9uPsF3xSEQ"><ix:nonNumeric contextRef="Duration_2_1_2022_To_1_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_qdl4QKRup0KHvUVIVAk4NQ" format="ixt-sec:durwordsen" name="agx:InvestmentMaturityPeriod" id="Narr_bq6RGi3iT0y2FYuC2LeUaQ">one year</ix:nonNumeric></ix:nonNumeric> or less purchased from Bank of America, N.A. (the &#8220;Bank&#8221;). 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 October 31, 2023 and January 31, 2023, the weighted average annual interest rates of the outstanding CDs were <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="As_Of_10_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_CDdx1db0NUu3tvfK0SxEfg" decimals="3" format="ixt:numdotdecimal" name="agx:WeightedAverageRateDepositCertificatesOfDeposit" scale="-2" id="Narr_YtnJFjT8fUiSlk20vndDVw">5.4</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="As_Of_1_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_sRfVZe-kZ0C3KtorDcgnmw" decimals="3" format="ixt:numdotdecimal" name="agx:WeightedAverageRateDepositCertificatesOfDeposit" scale="-2" id="Narr_WOmXNvx25EKgLwDZaqbdIw">2.5</ix:nonFraction>%, respectively. The balances of accrued interest on the CDs at October 31, 2023 and January 31, 2023 were $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_CDdx1db0NUu3tvfK0SxEfg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:InterestReceivable" scale="6" id="Narr_OcfoEkG9vUyjXXuoPIfHVQ">3.0</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_sRfVZe-kZ0C3KtorDcgnmw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:InterestReceivable" scale="6" id="Narr_iMiPcVxnAUWQwtJUBP8sBw">1.8</ix:nonFraction> million, respectively.</p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">11</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_AifIWEibAEeIna9tQOtyzA_1_2"></a><a id="Tc_Gl3QL6fAPkKfNPwD3_EF6Q_2_5"></a><a id="Tc_I4DWcP1ov0C0Bw8QtS_lCg_2_8"></a><a id="Tc_M2bt8cXhPkOPn-zGMnZKEg_2_11"></a><a id="Tc_t_fdgOXZdUyS5FOKfP_sUQ_2_14"></a><a id="Tc_gQPaqMsu9Uinr6fOtFpDxg_3_2"></a><a id="Tc_TVqPA_bTfkGF5P6TtsXkxg_3_5"></a><a id="Tc_J0Ed9U4ITEiWxmKWBPnazg_3_8"></a><a id="Tc_QMe15N92gECd6h2DMgY9xw_3_11"></a><a id="Tc_09kSPnwnC0mH8A54CTzCig_3_14"></a><a id="Tc_xmaR1PYdlki_0zmacLmhYA_4_2"></a><a id="Tc_Zyf_aHRJokW_wwaV0bUJaw_4_5"></a><a id="Tc_ZxoOmQlUi0GlkK_uJ8qNrQ_4_8"></a><a id="Tc_H2UdVSiUrEyV7UbVKjS87g_4_11"></a><a id="Tc_23BCrYrcn0aUq04m9bkqFA_4_14"></a><a id="Tc_twXgw4bTyUqFaoTNypw_-Q_5_0"></a><a id="Tc_3-lnKWyxg0CKqqKtvFrmuQ_6_0"></a><a id="Tc_7h48uj-7RUO8Hd4H7DPsOw_6_2"></a><a id="Tc_nvoxO-VWykGNEOgtt2iUaQ_6_5"></a><a id="Tc_WlUVLYEDxUqIffRPgKmqmA_6_6"></a><a id="Tc_EE9jXgv78Ui9BAkBaKoWVw_6_8"></a><a id="Tc_Sn_8NYq1okiXCcOndw1stg_6_11"></a><a id="Tc_vbV8T_b2i0i0LxiZ2gsiIA_6_14"></a><a id="Tc_cJ-cRSwQr0GH6v-NTlB_gw_7_0"></a><a id="Tc_GNkkTBS2FUWlSK6O1p9HqQ_7_6"></a><a id="Tc_V685wypLR0m0Uw9MVfbEJw_7_9"></a><a id="Tc_3Iigb7Llq0uDlin4Q0zkxA_8_0"></a><a id="Tc_rqyjW8aGZUyJkcuPGZUcXw_9_0"></a><a id="Tc_QwUCpNjjHEu3yZ2v6pxVCA_9_6"></a><a id="Tc_MGICO4BxYUCA-DqmF5ZlOw_9_9"></a><a id="Tc_t19aLs_5PkaeRP8H1klxJQ_10_0"></a><a id="Tc_x2i3qsPH4EmrzzuG53SogQ_10_2"></a><a id="Tc_2tvT8btUHUqDkCgWRSC4yg_10_5"></a><a id="Tc_2xzqe6ReuEmZKq6ZB72QGg_10_6"></a><a id="Tc_6-bayqdXKkSh0NBKzvqehA_10_8"></a><a id="Tc_pvKHmH9K4EqklbFhws_WQA_10_11"></a><a id="Tc_Anh7IlsYeUOj7IDgAPGp5A_10_14"></a><ix:continuation id="Tb_lqxWycBqDEOp1pZSb_MH1Q_cont1"><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 October 31, 2023 consisted of U.S. Treasury notes and a U.S. corporate debt security with original maturities of <span style="-sec-ix-hidden:Hidden_orIKaN3q4UiNEKA6QCAiFA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">two</span></span> or <ix:nonNumeric contextRef="As_Of_10_31_2023_srt_RangeAxis_srt_MaximumMember_smZDP0lTmU2mJKgDA-ww-A" format="ixt-sec:durwordsen" name="us-gaap:DebtSecuritiesAvailableForSaleTerm" id="Narr_UpHsrBDyCU24A8WtFiqc-Q">three years</ix:nonNumeric>. The Company&#8217;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 October 31, 2023:</p><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" id="Tb_Cc0miJoe4UWGoRAMtUoFFg" escape="true"><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;">&#8203;</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:39.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:39.7%;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="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:58.24%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.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="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;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="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;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;"><b style="font-weight:bold;">Allowance for</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-weight:bold;visibility:hidden;">&#8203;</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;"><b style="font-weight:bold;">Gross</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-weight:bold;visibility:hidden;">&#8203;</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;"><b style="font-weight:bold;">Gross</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.12%;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;"><b style="font-weight:bold;">Estimated</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.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="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" 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:center;margin:0pt;"><b style="font-weight:bold;">Amortized</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;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;"><b style="font-weight:bold;">Credit</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-weight:bold;visibility:hidden;">&#8203;</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;"><b style="font-weight:bold;">Unrealized</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-weight:bold;visibility:hidden;">&#8203;</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;"><b style="font-weight:bold;">Unrealized</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.12%;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;"><b style="font-weight:bold;">Fair</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.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="visibility:hidden;">&#8203;</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" 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:center;margin:0pt;"><b style="font-weight:bold;">Cost</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.12%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.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;">U.S. Treasury notes:</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.7%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasuryNotesSecuritiesMember_-mfNXL6ipUeTey3s--JCTQ" decimals="-3" format="ixt:numdotdecimal" name="agx:DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo" scale="3" id="Tc_xRwTz1-tZEimC6jLe3N1iA_6_3">50,282</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasuryNotesSecuritiesMember_-mfNXL6ipUeTey3s--JCTQ" decimals="-3" format="ixt:numdotdecimal" name="agx:DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo" scale="3" id="Tc_ST6uAMNzJEGJ_df1jEnYAA_6_9">3</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasuryNotesSecuritiesMember_-mfNXL6ipUeTey3s--JCTQ" decimals="-3" format="ixt:numdotdecimal" name="agx:DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo" scale="3" id="Tc_MbW48Eo7ckC3hf7us7AmoA_6_12">357</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasuryNotesSecuritiesMember_-mfNXL6ipUeTey3s--JCTQ" decimals="-3" format="ixt:numdotdecimal" name="agx:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo" scale="3" id="Tc_JOSYnscHLEi6MlKuLfRnoQ_6_15">49,928</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:39.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 6pt;">Due in two to three years</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasuryNotesSecuritiesMember_-mfNXL6ipUeTey3s--JCTQ" decimals="-3" format="ixt:numdotdecimal" name="agx:DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree" scale="3" id="Tc_C05PnEDQc0u2oQUo5qIHUQ_7_3">45,514</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasuryNotesSecuritiesMember_-mfNXL6ipUeTey3s--JCTQ" decimals="-3" format="ixt:numdotdecimal" name="agx:DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree" scale="3" id="Tc_o-KrWWJgPUibqPJMANwq1A_7_12">742</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasuryNotesSecuritiesMember_-mfNXL6ipUeTey3s--JCTQ" decimals="-3" format="ixt:numdotdecimal" name="agx:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree" scale="3" id="Tc_LIkZrVUBhEyV2Noqig2UHA_7_15">44,772</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:39.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">U.S. corporate debt security:</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.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 6pt;">Due in two to three years</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_DomesticCorporateDebtSecuritiesMember_uFu6VIXzx0eukHqLarGEsw" decimals="-3" format="ixt:numdotdecimal" name="agx:DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree" scale="3" id="Tc_Ae7AgBL11UOpFaeHmpsdsQ_9_3">9,268</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_DomesticCorporateDebtSecuritiesMember_uFu6VIXzx0eukHqLarGEsw" decimals="-3" format="ixt:numdotdecimal" name="agx:DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree" scale="3" id="Tc_2OS7EZ_Jvkq6BHDjI4Wi1g_9_12">51</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_DomesticCorporateDebtSecuritiesMember_uFu6VIXzx0eukHqLarGEsw" decimals="-3" format="ixt:numdotdecimal" name="agx:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree" scale="3" id="Tc_ccVVSHo_j02jjovuHQE1fQ_9_15">9,217</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:39.7%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="Tc_PSNuR6CDdkCgy7QhLIY0MQ_10_3">105,064</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px 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.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px 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.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="Tc_EkGNFVsrfU6l7wPzM7rw2A_10_9">3</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px 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.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="Tc_Zy2_xSa7SE-MYdsHh0DhZg_10_12">1,150</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px 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.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="Tc_KR90EiamuEqaa3LVHfczVA_10_15">103,917</ix:nonFraction></p></td></tr></table></ix:nonNumeric><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;">&#8203;</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 October 31, 2023, interest receivable in the amount of $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent" scale="6" id="Narr_FswPxzgKPEmLep6Kzqmntg">0.8</ix:nonFraction> million is <span style="-sec-ix-hidden:Hidden_VUj7GkZRd0aiWjArR6w1hw;"><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 nine months ended October 31, 2023, the change in net unrealized holding losses for the Company&#8217;s AFS securities reported in other comprehensive income was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" scale="6" id="Narr_T9TnNNYO1keP51uQMxjQwg">0.4</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" scale="6" id="Narr_QJWg_HvxekCQW8BLGogQ4w">1.1</ix:nonFraction> million, respectively. For the three and nine months ended October 31, 2023, there were <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-5" format="ixt-sec:numwordsen" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="6" id="Narr_WCCIR4ZI-0yz4wvIvn1yEg"><ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-5" format="ixt-sec:numwordsen" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="6" id="Narr_MgPY4F4ZLUKC8A7zrKs_jg">no</ix:nonFraction></ix:nonFraction> sales of the Company&#8217;s AFS securities, and therefore, there were <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-5" format="ixt-sec:numwordsen" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" scale="6" id="Narr_Nr34t3UfC0-T_IlSwcDF6A"><ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-5" format="ixt-sec:numwordsen" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" scale="6" id="Narr_0VyoKH4OI0CvUEcO4tgZ6Q">no</ix:nonFraction></ix:nonFraction> 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 October 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&#8217;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;">&#8203;</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 or invested in CDs purchased from the Bank. In addition, the Company has cash invested in a money market fund at a separate institution. 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. As of October 31, 2023, approximately 23% of the Company&#8217;s cash and cash equivalents were held by financial institutions in Ireland and the U.K. 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></ix:continuation><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="agx:TradeAndOtherReceivablesDisclosureTextBlock" id="Tb_J4gFNUHb3E23k0IzLOflxA" escape="true"><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 &#8211; 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&#8217;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&#8217;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 nine months ended October 31, 2023 and 2022 were insignificant. The allowance for credit losses at October 31, 2023 and January 31, 2023 was $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllowanceForNotesAndLoansReceivableCurrent" scale="6" id="Narr_GCxJaKi8HUyamq-3pkjePQ"><ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllowanceForNotesAndLoansReceivableCurrent" scale="6" id="Narr_6FTFReCmkUSm_GHIS5kVgg">1.8</ix:nonFraction></ix:nonFraction> million. </p></ix:nonNumeric><a id="_Hlk498963002"></a><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:IntangibleAssetsDisclosureTextBlock" id="Tb_Y7Eo1LPGJ0yY44PdbxPQNA" continuedAt="Tb_Y7Eo1LPGJ0yY44PdbxPQNA_cont1" escape="true"><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 &#8211; 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 October 31, 2023 and January 31, 2023, the goodwill balances related primarily to the GPS and TRC reporting units, and were $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_BusinessAcquisitionAxis_agx_GemmaPowerSystemLlcMember_VMXL5qAKQEalXct2jNqK9w" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="6" id="Narr_f77r2LEUPEW9B1YoAyHRWw"><ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_us-gaap_BusinessAcquisitionAxis_agx_GemmaPowerSystemLlcMember_cYUscEt4dUGaU78UpSsK3A" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="6" id="Narr_OPyMX4XfTEmqM2Ws-pPL8w">18.5</ix:nonFraction></ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_BusinessAcquisitionAxis_agx_RobertsCompanyIncMember__Zndj7C-hkiHrLpwFmDpQA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="6" id="Narr_JWQ7s-q0zU-E-KIaRZa1Zg"><ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_us-gaap_BusinessAcquisitionAxis_agx_RobertsCompanyIncMember_b5JYj9LV60acq2q7HafqoQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="6" id="Narr_1skG9NNXSE6ZWMjhXt4GOQ">9.5</ix:nonFraction></ix:nonFraction> 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></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">12</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_QYEFv2B8KkG9qlR8gN8S5A_1_4"></a><a id="Tc_wy4a6gdUE0-q6kRYkN8GbQ_1_13"></a><a id="Tc_Ct1YfftUdkqkgzuR1-3p9A_2_2"></a><a id="Tc_gXZS7I_02U69wfMjz6kwyA_2_4"></a><a id="Tc_TmP8y8g1A0uelQa3GaKlkg_2_7"></a><a id="Tc_AOKbYgjwSEa8ZFjbKM4Htw_2_10"></a><a id="Tc_lIQ2x_SDekqOHyHNMxA49Q_2_13"></a><a id="Tc_Q7SzWwykSEC8iK5PBi9h7Q_2_16"></a><a id="Tc_aYNAgF5dbE-AVpCjRKoBZA_2_19"></a><a id="Tc_IT_QrML4iEa2_9LiIdYvfQ_3_2"></a><a id="Tc_EBJ6GeB0A0y0m4baajg88w_3_4"></a><a id="Tc_kUPfBP4nW0iZL31wM59WOw_3_7"></a><a id="Tc_ObsfCBWdsEGAZPyczQAfQQ_3_10"></a><a id="Tc_wIezIHW22ke9mDH0XBJh9w_3_13"></a><a id="Tc_nc1fmAx6h0OTtK14vQ6fug_3_16"></a><a id="Tc_T7sbekGLwU2tEG6e7CR7kw_3_19"></a><a id="Tc_CyaR_jZajUmKF2lnvw_rlw_4_0"></a><a id="Tc_-s7_BwUmLEqX5SU-aTCVKA_4_4"></a><a id="Tc_chuopfvDt0S92baNLZC9TQ_4_7"></a><a id="Tc_5-cPfStfiUmBkfHwvoeFxA_4_10"></a><a id="Tc_--WYnfFHrkKSjjLbEfN-uA_4_13"></a><a id="Tc_0UfQNatZC026Gd7BMLZIQg_4_16"></a><a id="Tc_jR_JTrRqLUWRGnzFzag0iQ_4_19"></a><a id="Tc_PcJ30dv-T0at56klQrkzSA_5_0"></a><a id="Tc_s1nPJ__ZskWzNVvZrtYYgQ_6_0"></a><a id="Tc_sCN413vkhUCnVVRsaClTuQ_6_4"></a><a id="Tc_-BGSIa4rn0OXRKk1Vw-7sg_6_7"></a><a id="Tc_sPWHlYSPWEqKF_3ot4orXg_6_10"></a><a id="Tc_jeEJDgpPbkuK8rAxHs4HNA_6_13"></a><a id="Tc_zxi1vTgY2kWHpB4WNaEMOA_6_16"></a><a id="Tc_5aUVF1RkrkqLcSx64HQ2ug_6_19"></a><ix:continuation id="Tb_Y7Eo1LPGJ0yY44PdbxPQNA_cont1"><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&#8217;s intangible assets, other than goodwill, relate primarily to the industrial construction services segment and consisted of the following as of October 31, 2023 and January 31, 2023:</p><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="agx:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock" id="Tb_oJbPXXcf30qg6D3_ravKGQ" escape="true"><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;">&#8203;</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:20.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:20.36%;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="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:31.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;text-align:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:31.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;text-align:center;margin:0pt;"><b style="font-weight:bold;">January&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.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;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;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;"><b style="font-weight:bold;">Estimated</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;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;"><b style="font-weight:bold;">Gross</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.77%;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;"><b style="font-weight:bold;">Accumulated</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;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;"><b style="font-weight:bold;">Net</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;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;"><b style="font-weight:bold;">Gross</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.77%;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;"><b style="font-weight:bold;">Accumulated</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;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;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.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;">&#8203;</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Useful Life</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Amounts</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.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:center;margin:0pt;"><b style="font-weight:bold;">Amortization</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Amounts</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Amounts</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.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:center;margin:0pt;"><b style="font-weight:bold;">Amortization</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.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;">Trade names</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;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;"><ix:nonNumeric contextRef="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_Ne1FJ2isGUCt2uRTqLEhxw" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Tc_q4GngSyiJE-pZ3X3yjvptQ_4_2">15 years</ix:nonNumeric></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_Ne1FJ2isGUCt2uRTqLEhxw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_rX9L2rvyA0qZhn4IGA1wHQ_4_5">4,499</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;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.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_Ne1FJ2isGUCt2uRTqLEhxw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_tLU2ga3YdU6jGj61s0k72w_4_8">2,375</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_Ne1FJ2isGUCt2uRTqLEhxw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_WwllM8jTjU-SNAbAbJA95A_4_11">2,124</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_sDlUVfDlNU2GpbVUMl0GJA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_-I2uywhUhEefAtTMa1aV8g_4_14">4,499</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;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.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_sDlUVfDlNU2GpbVUMl0GJA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_V2uy4bDb4k6iit5fxcihYg_4_17">2,150</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_sDlUVfDlNU2GpbVUMl0GJA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_L1SvbTiOdE2iwG6EQ8oO5g_4_20">2,349</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:20.36%;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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;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;"><ix:nonNumeric contextRef="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_a8MarYEcc0C-NFJLBaWUBw" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Tc_8mEUW1I1jEuHKQ7_twrJhg_5_2">10 years</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_a8MarYEcc0C-NFJLBaWUBw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_cebBtp2wSUe16eZeeaEirA_5_5">916</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_a8MarYEcc0C-NFJLBaWUBw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_O8mAbn0UQ0OhpkNiokzTzQ_5_8">725</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_a8MarYEcc0C-NFJLBaWUBw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_K1L5ap7o6U-gAAG1_xGqzA_5_11">191</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_2Uf418UqMESeH7TAys-GzQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_j29Xtmiojk-3R6yzlxRmSQ_5_14">916</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_2Uf418UqMESeH7TAys-GzQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_U2L-l6TM6EqNVzY-u7oaXA_5_17">656</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_2Uf418UqMESeH7TAys-GzQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_q7-r1u-r_0SuQWJ5BhotXw_5_20">260</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:20.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 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_nrs2RGRhqUGHXv-whMC0aQ_6_5">5,415</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px 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.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_f7dXQ3m-FUKngRqP3tUMUA_6_8">3,100</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_hzfkNq2k_0mBuBHN1hsu2Q_6_11">2,315</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_lXG53Xj96Eae_dO0G9770A_6_14">5,415</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px 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.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_7eqZYGYmXEes16BwbkWWOw_6_17">2,806</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_Fn4Bf6lDAU-D5mjIoUI2eg_6_20">2,609</ix:nonFraction></p></td></tr></table></ix:nonNumeric><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;">&#8203;</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 future amounts of amortization related to purchased intangibles for each of the five succeeding fiscal years are $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" scale="6" id="Narr_lyEVqFa9IkiVjpMJQeEVfA">0.1</ix:nonFraction> million (November 1, 2023 to January 31, 2024), $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="6" id="Narr_vTQ0lbmBDEmvgp186U22Aw">0.4</ix:nonFraction> million (year ending January 31, 2025), $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="6" id="Narr_gwP1qh0VHEKQTMMhtPfe8Q">0.4</ix:nonFraction> million (year ending January 31, 2026), $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="6" id="Narr_kSoH6V6I5U6gpwlFDJdF0w">0.3</ix:nonFraction> million (year ending January 31, 2027), $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" scale="6" id="Narr_FTkZVc8yV0-hTWIX7Aw7IA">0.3</ix:nonFraction> million (year ending January 31, 2028), and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" scale="6" id="Narr_K8TdR5SS6EaJefbwMQN13g">0.8</ix:nonFraction> million (thereafter).</p></ix:continuation><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:DebtDisclosureTextBlock" id="Tb_7gEmw8Ad-EitkihMOXMT4A" escape="true"><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 6 &#8211; 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 &#8220;Credit Agreement&#8221;) 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 &#8220;Second Amendment&#8221;) to the Credit Agreement. The Second Amendment modified the Credit Amendment, primarily, to replace the interest pricing with the Secured Overnight Financing Rate (&#8220;SOFR&#8221;) plus <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_3_6_2023_To_3_6_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_dn5OlVQRX0GiM3t5vBk4Ew" decimals="3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Narr_cDXEXyfBEUSnuQ3t6jQKOw">1.6</ix:nonFraction>% and to add SOFR successor rate language. The Credit Agreement, as amended, includes the following features, among others: a lending commitment of $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_3_6_2023_srt_StatementScenarioAxis_agx_LettersOfCreditExpireOnMay312024Member_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_LV0LBuop5k-Wzwb2XVeLSQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_QuVpav3VUEGbI3KFWRDCwA">50.0</ix:nonFraction> million including a revolving loan and an accordion feature which allows for an additional commitment amount of $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_3_6_2023_To_3_6_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_R0550NVAbUqttxkvrVTYKQ" decimals="-5" format="ixt:numdotdecimal" name="agx:LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity" scale="6" id="Narr__qcARxSt1kqZ0EaLP9VoRg">10.0</ix:nonFraction> 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&#8217;s use in the ordinary course of business as defined in the Credit Agreement. The Company intends to renew the Credit Agreement prior to its current 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 October 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 $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LetterOfCreditMember_hfbu22JiBkm1BkT7VQpHQA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LettersOfCreditOutstandingAmount" scale="6" id="Narr_Cf0a4rh8D0WvHpNLDpm97Q">13.2</ix:nonFraction> million at October 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 $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LetterOfCreditMember_ETIbmSfZ_0OoqXYoRZcPXg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LettersOfCreditOutstandingAmount" scale="6" id="Narr_yiEZN4B0sEysecgjbspVKg">8.8</ix:nonFraction> 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&#8217;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 October 31, 2023 and January 31, 2023, the Company was in compliance with the covenants of the Credit Agreement, as amended.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:CommitmentsDisclosureTextBlock" id="Tb_Ml_tboqpXUSh2hvRuyQXUA" continuedAt="Tb_Ml_tboqpXUSh2hvRuyQXUA_cont1" escape="true"><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 &#8211; 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&#8217;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;">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 </p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">13</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_1eFGsI-3Z024TVKywVwULA_1_0"></a><a id="Tc_rSU_RF69lEWKEWB-59B-EA_2_0"></a><a id="Tc_pteS6-xY6keJab73pjDPXg_2_2"></a><a id="Tc_25TlQO9JAUGDrK-N6eyk6A_3_0"></a><a id="Tc_0za9Z9Zr10S7U_fNq-pgmg_4_0"></a><a id="Tc_Tm54-t6IcUmTAtWJDVqExA_5_0"></a><a id="Tc_TRE9upwIBUKAXsqeV8Y_5Q_6_0"></a><a id="Tc_0wqYwBPw3EmeEhBvc6U00Q_7_0"></a><a id="Tc_QXQ-qWgdV0-zc2kYQONRiQ_8_0"></a><a id="Tc_Au84jDzylEy_SxkgAorXfQ_9_0"></a><a id="Tc_B2JsEecaGUSDXsGuwxk4iw_10_0"></a><a id="Tc_WNsotM-ps0-dmKLlXtcgIw_12_2"></a><ix:continuation id="Tb_Ml_tboqpXUSh2hvRuyQXUA_cont1" continuedAt="Tb_Ml_tboqpXUSh2hvRuyQXUA_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">term. As the implicit rate is not determinable in most of the Company&#8217;s leases, management uses the Company&#8217;s incremental borrowing rate at the commencement date in determining the present value of future payments. The expected lease term includes any <ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" format="ixt:booleantrue" name="us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend" id="Narr_Pt84bGBYcUWQ7AJyfYhd1Q">option to extend</ix:nonNumeric> or to <ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" format="ixt:booleantrue" name="us-gaap:LesseeOperatingLeaseExistenceOfOptionToTerminate" id="Narr_J_Oq90nVW0CjYkdIOPRrQQ">terminate</ix:nonNumeric> the lease when it is reasonably certain the Company will exercise such option. Right-of-use assets at October 31, 2023 and January 31, 2023, were $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="6" id="Narr_-W8JJiCMMUmZRu_AhOHNPQ">4.1</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="6" id="Narr_gNK1_2p90E-DSaJgagv3cQ">4.8</ix:nonFraction> 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 nine months ended October 31, 2023 were $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="6" id="Narr_s0USw27Yn0mUjSW7SyOHGQ">0.5</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="6" id="Narr_s1IIcKq0a0-Jffm0QLX2Qw">1.3</ix:nonFraction> million, respectively, and they were $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="6" id="Narr_6Q_61LALW0ONYun7S69QpQ">0.6</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="6" id="Narr_YEh59jQw80uiDfu4RQFJIQ">1.9</ix:nonFraction> million for the three and nine months ended October 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 October 31, 2023:</p><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="Tb_uFrPI20yIUyM_YQH0ILapQ" escape="true"><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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ending January&#160;31,&#160;</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;">&#160;&#160;&#160;&#160;</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" scale="3" id="Tc_t4yTf1FiV0K5t7yp7znd_Q_2_3">436</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc_gTjzW3vgyEuwsBR60Ra4Qg_3_3">1,466</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="3" id="Tc_rr7G5cdB8EadfAe-z62Pyg_4_3">1,194</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="3" id="Tc_a6ty1mkhtECGNTs-c4wA4A_5_3">276</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="3" id="Tc_ujgk61dgi06W4PgfGM2-Iw_6_3">221</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="agx:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" scale="3" id="Tc_AddGnDL5DEyLs_MYBNIdbA_7_3">818</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" id="Tc_ZGoED7lYL0SOQI08GXaPdg_8_3">4,411</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" id="Tc_3dA25KGYnUC7weHPTbZKsQ_9_3">254</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_8-seo_7klUi88YT6nzNk-Q_10_3">4,157</ix:nonFraction></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_qWc9YZ_6xkerbBuXoOIA4w;"><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;">&#8203;</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;">&#8203;</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_KEMwmnOMlkikWPxkRq-Ayw_11_3">1,447</ix:nonFraction></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_iqQwAB-AiEed2DHu2UYUkQ;"><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;">&#8203;</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_ajw0Cs02cUGwiV0GB9lAaw_12_3">2,710</ix:nonFraction></p></td></tr></table></ix:nonNumeric><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;">&#8203;</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 October 31, 2023, the weighted average lease term and weighted average discount rate were <ix:nonNumeric contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" format="ixt-sec:durwordsen" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Narr_5p76vxzz80SaxKLABwWHGA">53 months</ix:nonNumeric> and <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Narr_YyewEjjXzEGYStbOI3lZeg">3.8</ix:nonFraction>%, respectively. For operating leases as of January 31, 2023, the weighted average lease term and weighted average discount rate were <ix:nonNumeric contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" format="ixt-sec:durwordsen" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Narr_axdy0VJSRkanNYlTsNrRGQ">58 months</ix:nonNumeric> and <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Narr_-2cnPo9k-EOeTT3MfKmZ9w">3.7</ix:nonFraction>%, respectively.</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 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 nine months ended October 31, 2023 were $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-5" format="ixt:numdotdecimal" name="agx:ShortTermRentalAgreementsExpense" scale="6" id="Narr_nGVsvUojvUK0hgwVqCcUlA">3.4</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-5" format="ixt:numdotdecimal" name="agx:ShortTermRentalAgreementsExpense" scale="6" id="Narr_BxK20Qyjp0-ulUmOKvHrMw">10.1</ix:nonFraction> million, respectively, and they were $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="agx:ShortTermRentalAgreementsExpense" scale="6" id="Narr_uarXY9CGjkmCONjUIKrlGw">3.5</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="agx:ShortTermRentalAgreementsExpense" scale="6" id="Narr_1HSC3W6IyEi_1XcUicjIEw">8.8</ix:nonFraction> million for the three and nine months ended October 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&#8217;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 October 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;">As of October 31, 2023 and January 31, 2023, the estimated amounts of the Company&#8217;s unsatisfied bonded performance obligations, covering all of its subsidiaries, were approximately $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-8" format="ixt:numdotdecimal" name="agx:RemainingBondedPerformanceObligations" scale="9" id="Narr_IZLJgkyZY0KQoQ6OcAuYNw">0.5</ix:nonFraction> billion and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-8" format="ixt:numdotdecimal" name="agx:RemainingBondedPerformanceObligations" scale="9" id="Narr_vMJ5wqe_KE2RXWEySimiwQ">0.6</ix:nonFraction> billion, respectively. As of October 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 $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_us-gaap_BusinessAcquisitionAxis_agx_GemmaPowerSystemsMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_FDUayURBBkKT_dwK8-mBbQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:GuaranteeObligationsMaximumExposure" scale="6" id="Narr_gdcjPLRqz0W_uF5StP0z5A">3.6</ix:nonFraction> million in support of business </p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">14</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_Ml_tboqpXUSh2hvRuyQXUA_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">development efforts. A liability was established for the estimated loss related to this guarantee during the year ended January 31, 2022 (&#8220;Fiscal 2022&#8221;).</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_gMBAheEq_kOzx0KxveqGYw;"><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_I7q3rmom0067CqYEeBSZVA;"><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&#8217;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></ix:continuation><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:LegalMattersAndContingenciesTextBlock" id="Tb_D3nkPfSQJkGKFE71EVOKww" escape="true"><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 &#8211; 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 October 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;">&#8203;</span></p></ix:nonNumeric><a id="_7b799ea7_00e0_473c_aa2c_564ab5133c2f"></a><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="Tb_kMeSGj7-WEWVVs97kc5ASQ" continuedAt="Tb_kMeSGj7-WEWVVs97kc5ASQ_cont1" escape="true"><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 &#8211; 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&#8217;s stockholders approved the adoption of the 2020 Stock Plan (the &#8220;2020 Plan&#8221;), and the allocation of <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_6_23_2020_us-gaap_PlanNameAxis_agx_Plan2020Member_OZmzww4oUUyKOiQww01y5w" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" scale="0" id="Narr_R1donpQOHU646mpzUYSDvw">500,000</ix:nonFraction> shares of the Company&#8217;s common stock for issuance thereunder. On June 20, 2023, the Company&#8217;s stockholders approved an allocation of an additional <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_6_20_2023_us-gaap_PlanNameAxis_agx_Plan2020Member_bJmwYxqUfEO6J7ioRlgNfQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" scale="0" id="Narr_mDrj16jSHECN6dUuzlOaiQ">500,000</ix:nonFraction> shares for issuance under the 2020 Plan. The Company&#8217;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 &#8220;2011 Plan&#8221;); the Company&#8217;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 &#8220;Stock Plans.&#8221;</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 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&#8217;s common stock on the date of grant. Stock options have terms no longer than <ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_agx_IncentiveStockOptionsMember_us-gaap_PlanNameAxis_agx_StockPlanMember_Zes_lVAzAUWHA1JwelBujA" format="ixt-sec:durwordsen" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" id="Narr_DHOk4o829E6_M7pQe_6Adw">ten years</ix:nonNumeric>. Typically, stock options are awarded with <span style="-sec-ix-hidden:Hidden_Mr14uOmysEucC82tsWJH9g;"><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_Uk_dwLKzMEGjcw8lOl7pTQ;"><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 October 31, 2023, there were <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_rEP8SaP03Ee5Fal16dt0-Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" scale="0" id="Narr_7r4X-LeIWE6Dgm4ZiupaYw">2,259,896</ix:nonFraction> shares of common stock reserved for issuance under the Stock Plans; this number includes <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_rEP8SaP03Ee5Fal16dt0-Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" scale="0" id="Narr_bKh0niCWNE-wVjfI5Ea-Jg">578,587</ix:nonFraction> 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><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="Tb_yDdaBzz9f0uOtqYGPwgVqQ" continuedAt="Tb_yDdaBzz9f0uOtqYGPwgVqQ_cont1" escape="true"><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 nine months ended October 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:36.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr></table></ix:nonNumeric></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">15</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_Y6LHK3o44UWlbkIJxszTBg_1_7"></a><a id="Tc_0PV5N3BwT0mjg5bm4cbD3A_1_9"></a><a id="Tc_FAKz3tY_1k2AEsLKa1X4AA_2_7"></a><a id="Tc_bvw8ptt6O0yWMZpGj3Rwlg_2_9"></a><a id="Tc_VFmN_OAkFEyoAXuSlahTyg_3_4"></a><a id="Tc_u4qV8gcK0UO5Xe7GoCFSnQ_3_7"></a><a id="Tc_FNrgO0eEd06EVUTSadBQJQ_3_9"></a><a id="Tc_IIhbcBOXwUyTs_6lp9uI2Q_4_4"></a><a id="Tc_HSVsSobqN0aT7PTElxZ3Ug_4_7"></a><a id="Tc_wGfNDzF0uU23Kj289YRTOg_4_9"></a><a id="Tc_T6nenGkgh0SEbzOmWI6utA_5_2"></a><a id="Tc_xwHGCBqZDEKMk7P2v4QKSA_5_4"></a><a id="Tc_OQvnvvLXz0OFnf0l6pf0nQ_5_7"></a><a id="Tc_vq56yJN_sUyg1g-Xjd5KLQ_5_9"></a><a id="Tc_vWrVzjHFZUC8Q6yzbLNYeA_6_0"></a><a id="Tc_pxHVBLZsUEy_dfUd4yjMGw_6_4"></a><a id="Tc_ZLDYOgQma0maYR9Q_r8L5g_6_9"></a><a id="Tc_cH07BLUUakawoidjpq2HxA_7_0"></a><a id="Tc_kAIpvB0220imzLJ4E4gayg_7_4"></a><a id="Tc_fmXQ7LPptE6yv6meB3nnfA_8_0"></a><a id="Tc_UhGtQFxe1E2uOqCn1o27DQ_8_4"></a><a id="Tc_NknyjITJG0eUId_5yT_0NA_9_0"></a><a id="Tc_bMLe8dqACkWOZA9Y4gEz3g_9_4"></a><a id="Tc_wCraCLVCD0yYHnBUXD7kLg_10_0"></a><a id="Tc_P1R4nrLlCE2MX-RJQv-aMA_10_4"></a><a id="Tc_wDp-3xOzq0iRbevFHuE7rg_10_9"></a><a id="Tc_a5gxTiTO-Eu-rsrPFZX_DQ_11_0"></a><a id="Tc_uipgea-aAkatASWmSqTjOg_11_4"></a><a id="Tc_McQ_WeoovECvzPEdypYl_Q_11_9"></a><a id="Tc_r5EjwFOuoEeD8LB2GzRL2Q_13_0"></a><a id="Tc_zPUc1bE2E0m_8aNE1zoy-A_13_4"></a><a id="Tc_C4jm7RDFHkKnQEJ9ebGj_A_13_9"></a><a id="Tc_pjBB254Nhkig7OvQx1xCSQ_14_0"></a><a id="Tc_vKBXR5bZBEK-eWS3UVhSgA_14_4"></a><a id="Tc__TMcne5T_kG2OGnc2d-wyA_14_9"></a><a id="_2377a7cb_68c1_4df1_92bc_52fa5271334c"></a><a id="Tc_SCCexTmrdU-VEV7_Oe2_zA_1_4"></a><a id="Tc_LX_f3YH720izkV4k0kyaTA_2_4"></a><a id="Tc_jMDihDX0tUmiFu6vCZIczA_3_4"></a><a id="Tc_xtRdTlruy0uvnkmjn1hLqA_4_4"></a><a id="Tc_scVj7ngQdUufh434gyC4RQ_5_2"></a><a id="Tc_TcWhLqFVUEiPrlacsMeG4Q_5_4"></a><a id="Tc_fDXqnB7WC0u4pWflTle2ww_6_0"></a><a id="Tc_wl3_GwenBkqv-nC3YTHftw_6_4"></a><a id="Tc_n6i0pVPGQEmALVTRctCZdA_7_0"></a><a id="Tc_FM902YTc10Shs64lbISVgA_7_4"></a><a id="Tc_fPYm7i8w8kSs1k5nJf_CvA_8_0"></a><a id="Tc_puSU-99VF0G7yfOdZgbc_Q_8_4"></a><a id="Tc_wtp9PPf6Xk-J-2dpO01R4Q_9_0"></a><a id="Tc_TiLzFK27GkyDd2xHqG-oAw_9_4"></a><a id="Tc_RmuiYzQVP0up8eOLj4VyRQ_10_0"></a><a id="Tc_CqUDV0tFm06gjk5hLSiWoA_10_4"></a><a id="Tc_JM53RDTK9U2VcdBWCiqUOQ_12_0"></a><a id="Tc_b3ZSXPHPLk2FlZcmr0vu0Q_12_4"></a><ix:continuation id="Tb_kMeSGj7-WEWVVs97kc5ASQ_cont1" continuedAt="Tb_kMeSGj7-WEWVVs97kc5ASQ_cont2"><ix:continuation id="Tb_yDdaBzz9f0uOtqYGPwgVqQ_cont1"><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><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.36%;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;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.36%;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;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.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;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.36%;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;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.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;"><b style="font-weight:bold;">Average Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.36%;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;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.07%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Price Per Share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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:center;margin:0pt;"><b style="font-weight:bold;">Term&#160;(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.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:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="3" id="Tc_yfSkrK7tmEy5moY8ZIF79w_6_2">1,440</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_SKj8QvDoVE262OtY2oeGQA_6_5">43.84</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><ix:nonNumeric contextRef="Duration_2_1_2022_To_1_31_2023_I-QeavC5_Uic4XGNNmm6bA" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_y1re6kdwf0Cex6DcEScA2w_6_7"> 5.46</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="2" format="ixt:numdotdecimal" name="agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue" scale="0" id="Tc_tlhzh7Fp8EWDwConJN_OOQ_6_10">10.11</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="3" id="Tc_nYOM4hvkAESC6WS2SwrCxA_7_2">10</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_Fq3xdSbi30al9NqHUsISww_7_5">39.47</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="Tc_n0CRqqY0C0CT32guzQalfQ_8_2">91</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_KNWbckN_qEyZy7JFBVAqEg_8_5">27.24</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-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;"> (<ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" scale="3" id="Tc_DgSifeuha0GNXXEcQhXtyA_9_2">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_zsa_TSG9Tk21ylta6nWffQ_9_5">33.81</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;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, October&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="3" id="Tc_9siEtYQmTE6MISb6yfs_uw_10_2">1,358</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_CHJ4n6Z1qUSqwS6u4RAXyQ_10_5">44.93</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_ORvXWHZHc0i3FblUnHx7zw_10_7"> 4.89</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="2" format="ixt:numdotdecimal" name="agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue" scale="0" id="Tc_mNnCnZpftkyuxax1Pmn_GA_10_10">10.42</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exercisable, October&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="3" id="Tc_7cpcS24C8E2Nf6nfRR6YOA_11_2">1,230</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="Tc_kJERLfiQkkaZg_T5KGNrWw_11_5">45.45</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="Tc_3534gol5Wkmru299qUifwA_11_7"> 4.53</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="2" format="ixt:numdotdecimal" name="agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue" scale="0" id="Tc_8A5T1dUSBE2oRrcq-LrL2g_11_10">10.70</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;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, October&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="3" id="Tc_pFFLH95mOkuSfGf4h0xz-g_13_2">1,405</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_Ya5tHwEuv0uSCwrfhPSqfg_13_5">44.04</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><ix:nonNumeric contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_i80huVnPwEW6UUDejvEGgw_13_7"> 5.61</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw" decimals="2" format="ixt:numdotdecimal" name="agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue" scale="0" id="Tc_if6615Bg9U6YNGZF71P7Bw_13_10">10.17</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exercisable, October&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="3" id="Tc_WG9gU88u3kSwZeAe-yUrYg_14_2">1,188</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="Tc_a6p7iiNIk0eCan8bhvtV-g_14_5">44.76</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><ix:nonNumeric contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="Tc_NhlKOdOgV0-CTISehhf08A_14_7"> 5.11</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw" decimals="2" format="ixt:numdotdecimal" name="agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue" scale="0" id="Tc_LJWYC2Z4R0iWLl8OWlYxOw_14_10">10.69</ix:nonFraction></p></td></tr></table></ix:continuation><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;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock" id="Tb_RisvZ33OL0uoBawO68amqA" escape="true"><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 nine months ended October 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:74.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.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:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" scale="3" id="Tc_wxkiTeZPL0qxuoKCBwPqTA_6_2">194</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_P7BeLeQwmEKeVKLLoJp6Jg_6_5">7.27</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="3" id="Tc_R9FjGDERGUaLTfdxgpvIDQ_7_2">10</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_DCqcvaian0yqE1ksvYMuKw_7_5">8.12</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" scale="3" id="Tc_7ELHv6-ao0aamtB6KGrRYQ_8_2">75</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_So_jgpa1r0aNFwcbdKyCog_8_5">6.62</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-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;"> (<ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" scale="3" id="Tc_COYapi3ZpEe_BprKCRx2pA_9_2">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" scale="0" id="Tc_11Jzl6A-bUKp3_sP6RUOjQ_9_5">5.68</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;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, October&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" scale="3" id="Tc_eEle5YYh-U6A5QTTwgMr3A_10_2">128</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_HpDOQIjb2kGze5YLk4WxYA_10_5">7.72</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;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, October&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" scale="3" id="Tc_FD0dpy8pQUGnWYreJAsL1g_12_2">217</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_mjQj7saDfE69cRyjq9MGZQ_12_5">7.33</ix:nonFraction></p></td></tr></table></ix:nonNumeric><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;">&#8203;</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 nine months ended October 31, 2023 was $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="6" id="Narr_41wj8_5qIECLsbIGVhIVxA">1.5</ix:nonFraction> million. The total intrinsic value amount related to the stock options exercised during the nine months ended October 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 where the options were &#8220;in-the-money&#8221; exceeded the aggregate exercise prices of such options at October 31, 2023 by $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="6" id="Narr_rxu1o9DLfkKO6_2_fGA2fg">6.8</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" scale="6" id="Narr_ir-RQqHvOk6AxzWdMptj1A">5.9</ix:nonFraction> 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&#8217;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 <ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_pmgV6BguZEidry-tZ7loyA" format="ixt-sec:durwordsen" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" id="Narr_PHQ2pJYstEqh4hYilqJkzQ">three-year</ix:nonNumeric> 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 nine months ended October 31, 2023, the Company awarded total stock return performance-based restricted stock units (&#8220;PRSUs&#8221;) covering a target of </span><span style="background:#ffffff;"><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_us-gaap_AwardTypeAxis_agx_PerformanceBasedRestrictedStockUnitsMember_8MEXG9tC_0erje-pB6PdoA" decimals="INF" format="ixt:numdotdecimal" name="agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod" scale="0" id="Narr_9v6c-W0ZXEaZfsAWfx3u9w">6,000</ix:nonFraction></span><span style="background:#ffffff;"> shares of common stock, earnings per share performance-based restricted stock units (&#8220;EPRSUs&#8221;) covering a target of </span><span style="background:#ffffff;"><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_us-gaap_AwardTypeAxis_agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember_xXA4f-0QM0qUeO8XMuhlbg" decimals="INF" format="ixt:numdotdecimal" name="agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod" scale="0" id="Narr_gi_SC-vgmkmreunz4im4Ag">15,000</ix:nonFraction></span><span style="background:#ffffff;"> shares of common stock, renewable energy performance-based restricted stock units (&#8220;RPRSUs&#8221;) covering a target of </span><span style="background:#ffffff;"><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_us-gaap_AwardTypeAxis_agx_RenewablePerformanceBasedRestrictedStockUnitsMember_2Na8JWlL6kWoliHSXc-T5Q" decimals="INF" format="ixt:numdotdecimal" name="agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod" scale="0" id="Narr_HllUdg65WU6nSmC2dLmfHg">7,500</ix:nonFraction></span><span style="background:#ffffff;"> shares of common stock, time-based restricted stock units (&#8220;TRSUs&#8221;) covering </span><span style="background:#ffffff;"><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_us-gaap_AwardTypeAxis_agx_TimeBasedRestrictedStockUnitsMember_RHLT3gkQG0CFqCUKlX88XA" decimals="INF" format="ixt:numdotdecimal" name="agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod" scale="0" id="Narr_BXH7Lriq60GeIF6gknqwGA">52,800</ix:nonFraction></span><span style="background:#ffffff;"> shares of common stock, and </span><span style="background:#ffffff;"><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsShares" scale="0" id="Narr_MpSFue870ECwNR8Bsoficg">1,492</ix:nonFraction></span><span style="background:#ffffff;"> shares based on the amount of cash dividends deemed paid on shares earned pursuant to the awards. During the nine months ended October 31, 2022, the Company awarded PRSUs covering a target of </span><span style="background:#ffffff;"><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2022_us-gaap_AwardTypeAxis_agx_PerformanceBasedRestrictedStockUnitsMember_eSM7ATnZpkek7QKGHZ4q6Q" decimals="INF" format="ixt:numdotdecimal" name="agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod" scale="0" id="Narr_ZItHctYdckS_kJIExon40Q">26,000</ix:nonFraction></span><span style="background:#ffffff;"> shares of common stock, RPRSUs covering a target of </span><span style="background:#ffffff;"><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2022_us-gaap_AwardTypeAxis_agx_RenewablePerformanceBasedRestrictedStockUnitsMember_NTY0GN1ypEeX9Hsa9ghdOg" decimals="INF" format="ixt:numdotdecimal" name="agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod" scale="0" id="Narr_nN6E5FowaUSFlAg2pl4D0g">7,500</ix:nonFraction></span><span style="background:#ffffff;"> shares of common stock and TRSUs covering </span><span style="background:#ffffff;"><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2022_us-gaap_AwardTypeAxis_agx_TimeBasedRestrictedStockUnitsMember_OUFq_pYVE0KRvR8dQoVydg" decimals="INF" format="ixt:numdotdecimal" name="agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod" scale="0" id="Narr_eaQvjOt3gEq2UMQ9AyCmfQ">72,500</ix:nonFraction></span><span style="background:#ffffff;"> shares of common stock. </span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">16</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_94c8ccd6_6374_428b_a1bb_c3ffc769cdf8"></a><a id="Tc_9cWtBvuJ2k6tX8wo3_PSRg_1_4"></a><a id="Tc_zHMUlhZ88EedHn4ORTyEzA_2_4"></a><a id="Tc_O1agT0x9bEustO23cbzwFw_3_4"></a><a id="Tc_lwV4U_-yQ0iIAucAe-Am2Q_4_4"></a><a id="Tc_TqRtzt8KKkib6idQJhbBTw_5_2"></a><a id="Tc_aq1EppHYeEG2eeGxHqwMnQ_5_4"></a><a id="Tc_DLI-mymMBUeyLPBCy0HiOg_6_0"></a><a id="Tc_UVPWnqLIgEGysIqvWhYGiA_6_4"></a><a id="Tc_lS5lvsBZ1E2j-zlMXD88Iw_7_0"></a><a id="Tc_EwAIFon9UEqxXVP-_SLvYg_7_4"></a><a id="Tc_mHtNDiZ4tUuKAzdJ7gEsTQ_8_0"></a><a id="Tc_HH8WO1NrkEGHWwsM7uki8g_8_4"></a><a id="Tc_wrlH1sSTikCuUgLdIG8DOg_9_0"></a><a id="Tc_i6p1paR2eUuILffUV9vnKw_9_4"></a><a id="Tc_GJGo5HPn00yxA15n_LwglQ_10_0"></a><a id="Tc_Q8RW80MjN0KmG_ELkxPPMQ_10_4"></a><a id="Tc_ASxeL3QLEUWiEli4PgGv6g_12_0"></a><a id="Tc_Eamaz3wZpEWP7oxr58-npA_12_4"></a><ix:continuation id="Tb_kMeSGj7-WEWVVs97kc5ASQ_cont2" continuedAt="Tb_kMeSGj7-WEWVVs97kc5ASQ_cont3"><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" id="Tb_njJEJCLbq06MM0mucuUPdA" escape="true"><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 nine months ended October 31, 2023, and the weighted average fair value per share for each restricted stock unit, 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;white-space:nowrap;width:74.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:2.44%;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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.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:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_1_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_aRue0zOfp0GnMgOX2ckfuw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="3" id="Tc_JpF4ZJHFak2hnhGVMfwMvw_6_2">310</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_1_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_aRue0zOfp0GnMgOX2ckfuw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_uSrEcT-wM0aecRZRt0fRWQ_6_5">30.80</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_pmgV6BguZEidry-tZ7loyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="3" id="Tc_e3_7IIovpU-siNcAFDtXAw_7_2">104</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_pmgV6BguZEidry-tZ7loyA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_Ie5AzA9ECEiaU_nDAk1VKw_7_5">31.68</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_pmgV6BguZEidry-tZ7loyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="3" id="Tc_NfqeND8Ce0eMUt4cMTd7Sw_8_2">42</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_pmgV6BguZEidry-tZ7loyA" decimals="2" format="ixt:numdotdecimal" name="agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_gpjTjbTQsk2q6g-rl2g6Lg_8_5">43.80</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;border-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;"> (<ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_pmgV6BguZEidry-tZ7loyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="3" id="Tc_MChVAt7nPkuClK8wUdJu1A_9_2">49</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_pmgV6BguZEidry-tZ7loyA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="Tc_tfR9HRMp5k-RgE4OhfnHwQ_9_5">15.57</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;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, October&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_X54GfyMLg0C3LIarZOyNOw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="3" id="Tc_G07IKUkfDUqMuvI3CN00vg_10_2">323</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_X54GfyMLg0C3LIarZOyNOw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_R0QxHqASxUC1cc0bBPr2Gg_10_5">30.59</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;border-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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;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, October&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="As_Of_10_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_zA47Crc9X02F3o2gCvoF0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="3" id="Tc_e6B3HR2jIkua3gUga8Zgbg_12_2">298</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_10_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_zA47Crc9X02F3o2gCvoF0w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_FH_yow89wEe1wYsf4OmzCw_12_5">29.42</ix:nonFraction></p></td></tr></table></ix:nonNumeric><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;">&#8203;</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 $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="6" id="Narr_dQtLDCliwUSgETFUFYSw0A">1.2</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="6" id="Narr_78YCqZjMMUGQzsNoYGcrig">1.1</ix:nonFraction> million for the three months ended October 31, 2023 and 2022, respectively. Expense amounts related to stock awards were $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="6" id="Narr_3a7w-Hdpv02nvBAi9trtOg">3.4</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="6" id="Narr_sttJKsQsmkSUqboWcrnMRA">3.1</ix:nonFraction> million for the nine months ended October 31, 2023 and 2022, respectively. At October 31, 2023, there was $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" scale="6" id="Narr_Op0Ni86Xw02sG6WX2RUl-Q">6.4</ix:nonFraction> million in unrecognized compensation cost related to outstanding stock awards that the Company expects to expense over the next <ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" format="ixt-sec:durwordsen" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Narr_OSz9WKLX3EmtcNOBqhPC8A">three years</ix:nonNumeric>.</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_Trjnt_zL3kmpBU4lMTu6kg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three-</span></span>to-<ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_srt_RangeAxis_srt_MaximumMember_R83E7ETSDkaHhVaQZSNSbw" format="ixt-sec:durwordsen" name="agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices" id="Narr_vXapin0vYk2lghaq1qOUBQ">five year</ix:nonNumeric> U.S. Treasury notes. The dividend yield is based on the Company&#8217;s current annual regular dividend amount. The calculations of the expected volatility factors are based on the monthly closing prices of the Company&#8217;s common stock for the <ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" format="ixt-sec:durwordsen" name="agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices" id="Narr_QUM-T0K2MU6RKtvhRRbViw">five-year</ix:nonNumeric> 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 <ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_srt_TitleOfIndividualAxis_srt_ExecutiveOfficerMember_us-gaap_AwardTypeAxis_agx_PerformanceBasedRestrictedStockUnitsMember_us-gaap_PlanNameAxis_agx_StockPlanMember_o4GhG6ViKkWzIcpm9DcLiA" format="ixt-sec:durwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Narr_4QcMkccV_UqSYFOYs5Kxag">three-year</ix:nonNumeric> term, and by computing the weighted average of the outcome amounts. For each award, the estimated fair value amount was calculated to be <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="3" format="ixt:numdotdecimal" name="agx:PercentageReductionInAggregateFairValueOfStockOption" scale="-2" id="Narr_j5iobEjTPE-wCrre6_vYRg">88.5</ix:nonFraction>% of the aggregate market value of the target number (which is <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2023_To_10_31_2023_srt_TitleOfIndividualAxis_srt_ExecutiveOfficerMember_us-gaap_AwardTypeAxis_agx_PerformanceBasedRestrictedStockUnitsMember_us-gaap_PlanNameAxis_agx_StockPlanMember_o4GhG6ViKkWzIcpm9DcLiA" decimals="2" format="ixt:numdotdecimal" name="agx:PercentageOfMaximumSharesForTargetNumberOfSharesAwarded" scale="-2" id="Narr_ZyMJu0TekkKagbK1uhdzog">50</ix:nonFraction>% 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></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">17</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_kMeSGj7-WEWVVs97kc5ASQ_cont3"></ix:continuation><a id="Tc_hGTGjl3qDkeDN8jojBosTQ_1_2"></a><a id="Tc_3ItWiYNgKk272IONR6wifQ_2_2"></a><a id="Tc_Lm1F92HF10yChG1SZkjJlw_2_5"></a><a id="Tc_S7HTIR0DPEeCAZuLqRQ0Eg_3_0"></a><a id="Tc_baRmoSXGIEGcJZYNNdtajw_3_2"></a><a id="Tc_0iRFr-bb1E-WNqc0KoJXwA_3_5"></a><a id="Tc_EonnB5e03UCrlfA0F3rQSw_4_0"></a><a id="Tc_3v2w8r8_N0mecGykNfpaXA_5_0"></a><a id="Tc_dTzxVTNo9UCyPKTqmjiyaA_5_6"></a><a id="Tc_DgFzl1VlC0KSmLGwKvGX9g_6_0"></a><a id="Tc__Nbnw_tqz0K5Fwb4HrUcGg_7_0"></a><a id="Tc_wHz1SfCqoU-YeuMqVUlH3A_8_0"></a><a id="Tc_Lw0KkMbdyECmgUbZqX-sbw_9_0"></a><a id="Tc_jNA0hMXYmkiC20mY2wGRmA_10_0"></a><a id="Tc_4xr5dF29UkyPXUbDcbtsgA_10_3"></a><a id="Tc_98SWEx8Un0-3-Kwbd_CXPA_11_0"></a><a id="Tc_I6vXqLV5Ikye9L_sTWekhA_12_0"></a><a id="Tc_URh0YwOT70ubr_AtZ2UhRg_12_2"></a><a id="Tc_PM5yyTUzHUWeMwvUol4h6w_12_5"></a><a id="_Hlk72162382"></a><a id="Narr_9xaORrbT5E2BByYaoHTVSA"></a><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:IncomeTaxDisclosureTextBlock" id="Tb_lso3Jwp-xEqxPzyr9ADLfQ" continuedAt="Tb_lso3Jwp-xEqxPzyr9ADLfQ_cont1" escape="true"><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 &#8211; 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&#8217;s income tax amounts for the nine months ended October 31, 2023 and 2022 differed from corresponding amounts computed by applying the federal corporate income tax rate of <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="Narr_2YCONNGNm0is3DnJDMV0bw"><ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="Narr_d14wsbyFPkGOvQgsdiHQxQ">21</ix:nonFraction></ix:nonFraction>% to the income before income taxes for the periods as presented below: </p><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="Tb_nXk0owBFgU69FqISXcg34A" escape="true"><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;">&#8203;</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:61.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">&#8203;</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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:36.16%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended October&#160;31,&#160;</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;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.03%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.01%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2022</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;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:13.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" scale="3" id="Tc_8nnKsZKiGEKG691JrAB6UQ_3_3">6,711</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;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.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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" scale="3" id="Tc_iPoF9H0Uk0a5hqVGEhV6kQ_3_6">7,135</ix:nonFraction></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="visibility:hidden;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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;">Unrecognized tax loss benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="agx:UnrecognizedTaxLossBenefit" sign="-" scale="3" id="Tc_p7mZz6ADZ0CIhgGgO7FuNg_5_3">3,255</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> &#8212;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" scale="3" id="Tc_vBbDZe4Bi0qEekuUI2CX8A_6_3">2,023</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" scale="3" id="Tc_IGICL38E90yzzKJFKqEAcQ_6_6">486</ix:nonFraction></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" sign="-" scale="3" id="Tc_MdAkvk5rHkWCAaKxnCjXnQ_7_3">1,699</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" sign="-" scale="3" id="Tc_LokEQYYFOE6CwcuMBRglgg_7_6">194</ix:nonFraction>)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="agx:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount" scale="3" id="Tc_v514rD7FXUiSBECHdFqtRQ_8_3">672</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="agx:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount" scale="3" id="Tc_vB8ZAGCQfU-kgKS4XnXQbw_8_6">757</ix:nonFraction></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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;">Meals and entertainment expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment" scale="3" id="Tc_W4IDZ274E0-idzDuNX75_Q_9_3">385</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment" scale="3" id="Tc_uJGBboPL5EWuCM1ncZZjDQ_9_6">48</ix:nonFraction></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment" scale="3" id="Tc_5InHCLZwDUSC6JSah-Em9A_10_6">6,181</ix:nonFraction></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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;">Other permanent differences and adjustments, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther" scale="3" id="Tc_gLo1z6rSWUGvL6XJ5gczoA_11_3">269</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther" scale="3" id="Tc_r7Jr9EAm3U2udK8XFfLBIw_11_6">97</ix:nonFraction></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:3px 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:13.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_tvQtn40BREWhK71ZmMAmFQ_12_3">11,616</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;border-bottom:3px 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:13.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_ds9DxNjnZUOX7Ze_92OlBw_12_6">14,510</ix:nonFraction></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></ix:nonNumeric><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;">&#8203;</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 nine months ended October 31, 2023 was $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CurrentForeignTaxExpenseBenefit" scale="6" id="Narr_ctNnOX8iPkqolEfTO4boFw">3.0</ix:nonFraction> million. Foreign income tax expense for the nine months ended October 31, 2022 was <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="0" format="ixt-sec:numwordsen" name="us-gaap:CurrentForeignTaxExpenseBenefit" scale="0" id="Narr_hsmhZ2fLN0-KMEH0Bmthng">no</ix:nonFraction>t material. &#160; &#160; &#160; </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 (&#8220;NOL&#8221;) 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 &#8220;CARES Act&#8221;) 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 <ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" format="ixt-sec:durwordsen" name="agx:IncreaseInLossCarrybackPeriodForCertainLosses" id="Narr_0BEmJ3E71UONYNPHrx9ZkA">five years</ix:nonNumeric>. The NOLs eligible for carryback under the CARES Act include the Company&#8217;s domestic NOL for the year ended January 31, 2020, which was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2020_oh5ZOlOA8EG28vpw37cNGQ" decimals="-5" format="ixt:numdotdecimal" name="agx:DomesticNetOperatingLossCarryback" scale="6" id="Narr_EVysEfzg9kyUehDdh8sIFw">39.5</ix:nonFraction> million. The Company made the appropriate filing with the Internal Revenue Service (the &#8220;IRS&#8221;) requesting carryback refunds of income taxes paid for the years ended January 31, 2016 (&#8220;Fiscal 2016&#8221;) and 2015 (&#8220;Fiscal 2015&#8221;) in the total amount of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2021_AMfooaGhjEyDWkTzNl6KxQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndOtherTaxReceivableCurrent" scale="6" id="Narr_nkfszF5RWEquGttFKvdImw">12.7</ix:nonFraction> million during the fiscal year ended January 31, 2021 (&#8220;Fiscal 2021&#8221;). 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&#8217;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 $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReconciliationTaxCreditsResearch" scale="6" id="Narr_ac17XqUGYUGEzDwhAklZcQ">5.8</ix:nonFraction> million, which was netted with a provision for uncertain tax return positions in the amount of $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-5" format="ixt:numdotdecimal" name="agx:Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit" scale="6" id="Narr_PT-be5_ztUiwfOJ_Si3CEQ">2.4</ix:nonFraction> million, and recorded as a reduction of income tax expense in the fourth quarter of Fiscal 2023. In May 2023, the Company received notification that its amended federal income tax returns for Fiscal 2021 and Fiscal 2022 were selected for examination. At October 31, 2023, the examination was in its early stages.</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;">As of October 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 $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-5" format="ixt:numdotdecimal" name="agx:IncomeTaxRefundsAndPrepaidIncomeTaxes" scale="6" id="Narr_wu_SwE6-JUmda2wLIWBMeQ">16.6</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-5" format="ixt:numdotdecimal" name="agx:IncomeTaxRefundsAndPrepaidIncomeTaxes" scale="6" id="Narr_Q_p0ynAgO0-Azr9hODBfOQ">15.3</ix:nonFraction> million, respectively. The income tax refunds included the amount expected to be received from the IRS upon </p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">18</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_lso3Jwp-xEqxPzyr9ADLfQ_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;">its review and approval of the Company&#8217;s NOL carryback refund request and the completion of its examination of the amended tax returns for Fiscal 2022 and Fiscal 2021 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. </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. At October 31, 2023 and January 31, 2023, the investment account balances were </span><span style="font-family:'inherit';background:#ffffff;">$<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="6" id="Narr_RgoCJzvgtUuZD43KxkN74g">1.0</ix:nonFraction></span><span style="font-family:'inherit';background:#ffffff;"> million and </span><span style="font-family:'inherit';background:#ffffff;">$<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="6" id="Narr_CpkaRv-qnU25LGGs7wPrvg">1.2</ix:nonFraction></span><span style="font-family:'inherit';background:#ffffff;"> million, respectively. These investments are expected to provide positive overall returns over their </span><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" format="ixt-sec:durwordsen" name="agx:InvestmentsTerm" id="Narr_iaVfbJCC3UOMRKgW-r1o-w"><span style="font-family:'inherit';background:#ffffff;">six-year</span></ix:nonNumeric><span style="font-family:'inherit';background:#ffffff;"> expected lives. As of October 31, 2023, the Company had </span><span style="font-family:'inherit';background:#ffffff;"><ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-5" format="ixt-sec:numwordsen" name="agx:CashInvestmentCommitments" scale="6" id="Narr_ETo1T8ajpkmXWgaXbyRIPA">no</ix:nonFraction></span><span style="font-family:'inherit';background:#ffffff;"> remaining cash investment commitments related to these projects.</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-family:'inherit';background:#ffffff;">During the three and nine months ended October 31, 2023, the investment balance was adjusted to reflect the Company&#8217;s share of the losses of the investment entities in the amounts of less than </span><span style="font-family:'inherit';background:#ffffff;">$<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_vcJKnDFBJUWrImj4VKR5mg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="6" id="Narr_4SLUqjwK80y9aBrJ-0gyxg">0.1</ix:nonFraction></span><span style="font-family:'inherit';background:#ffffff;"> million and </span><span style="font-family:'inherit';background:#ffffff;">$<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_CVUExyfEu0ihiZ_gTTCtMA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="6" id="Narr_yGQ4NPC_ykKd3LAi8g2n9Q">0.1</ix:nonFraction></span><span style="font-family:'inherit';background:#ffffff;"> million, respectively. For the three and nine months ended October 31, 2022, the investment balance was adjusted to reflect the Company&#8217;s share of the income of the investment entities in the amounts of approximately </span><span style="font-family:'inherit';background:#ffffff;">$<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_pVvz3-u7VEaOeqWx3DEYhw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="6" id="Narr_0vM7DU8oQUaDi1J2zUrqxQ">0.6</ix:nonFraction></span><span style="font-family:'inherit';background:#ffffff;"> million and </span><span style="font-family:'inherit';background:#ffffff;">$<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_E3hAogTyqEmHN_FQY-NHlA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="6" id="Narr_pBDqtpriiE6sjO0AdlkQhQ">1.1</ix:nonFraction></span><span style="font-family:'inherit';background:#ffffff;"> million, respectively. These net amounts have been included as other loss or income in the Company&#8217;s condensed consolidated statement of earnings for the corresponding periods.</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"> <span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><a id="_81091860_028f_42a8_9dbe_8e050c40be29"></a><a id="Tc_KWR1hC_Kq0-UDXuUnTt9XQ_1_2"></a><a id="Tc_XsXwaOLaUEeMKn7uRXEmfw_2_2"></a><a id="Tc_sThB89xwzEignt2H04jq6g_2_5"></a><a id="Tc_s8CynO6POkeO7fN5itfyOA_3_0"></a><a id="Tc_qFJUl3cV2kmgOsNywj6Ixg_3_2"></a><a id="Tc_h3oewh1k40Gvqh0bDFpYdg_3_5"></a><a id="Tc_SqSDeQBPVkeQnCkyKG7QsA_5_0"></a><a id="Tc_if8xgo0nKEqd8MDv66cPeA_6_0"></a><a id="Tc_KwuKlcaXGUiGlBLqcoT8Yg_7_0"></a><a id="Tc_ZJWOGgFXz0y3eVK0YlHc9g_9_0"></a><a id="Tc_bK0NMaHN_EubhPqR8k5x2w_10_0"></a><a id="Tc_a98LLJ5aKkqF3SGNlCAPGg_10_2"></a><a id="Tc_zfQ5DmJLRUiNIUqphXGEzw_10_5"></a><a id="Tc_Hs6kOre2g0uuKhnWK8y-lQ_11_0"></a><a id="Tc__cnmm8XwmkSN9msZGPQh3Q_11_2"></a><a id="Tc_TfTEvHh2tkq_X7AxBCdXaw_11_5"></a><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:EarningsPerShareTextBlock" id="Tb_F_eg9v1Y70GM1I6ZKyPvfg" continuedAt="Tb_F_eg9v1Y70GM1I6ZKyPvfg_cont1" escape="true"><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 11 &#8211; NET INCOME PER SHARE</b></p><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="Tb_G4blD2onbUKOixBIM6UOmA" continuedAt="Tb_G4blD2onbUKOixBIM6UOmA_cont1" escape="true"><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 notes):</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:59.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:37.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:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended October&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.03%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_O6i-4MZAAEqKYs1AjXq9JQ_3_3">5,464</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px 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:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_4qjymZzM6kSzRnWy_RXa2g_3_6">7,758</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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 &#8211; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_gX4-FASWX0ub6F-MuHF5VA_5_3">13,328</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_w3TKW8NZ7Eie-DDRWTR5VQ_5_6">13,781</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="Tc_fSPELCDPWEm_hadiCFAFLw_6_3">231</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="Tc_AlK3LyWMfkCn0_H_Vc_8TQ_6_6">31</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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 &#8211; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_J8UYWoASdUOJHwv2f-AFRg_7_3">13,559</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_8vZaTeJbPUqjTko2Ux1dZQ_7_6">13,812</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:3px 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:14.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_fge7Oue-XUaaUNjszUtfTg_10_3">0.41</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px 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:14.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_c2awQgPFXkCoZHvjkeIJag_10_6">0.56</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_A_5SY6pKl0-KdAN-J4rVSQ_11_3">0.40</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px 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:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_LmI3nRSYv0eUj4DR0ALUmg_11_6">0.56</ix:nonFraction></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 October 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Narr_XN7k6zxEEEqCgiz56h8Kog">690,167</ix:nonFraction></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;"><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Narr_1Lt8bL2U00KTt-U_qK7VBQ">1,146,834</ix:nonFraction></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></ix:nonNumeric></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">19</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_c28b88bc_a13b_4679_8524_e1bebc55b0b3"></a><a id="Tc_Otj_68fZXE6DMuYCmoP2pQ_1_2"></a><a id="Tc_N6mrTYkggkCKy_PuHr-kSw_2_2"></a><a id="Tc_tTcggcGIkEazXoP2vwl9CA_2_5"></a><a id="Tc_3XUFCPH4IUSoYZN4RIg-uA_3_0"></a><a id="Tc_IlD7hHbZU0CvbdDQd7C6zA_3_2"></a><a id="Tc_Hd70zDFo8kmY7D2AJ8BiAQ_3_5"></a><a id="Tc_M3f_q1cUhEuyr76GkIHJAA_5_0"></a><a id="Tc_Ti8LU4XvLE2X-wygDhk3TA_6_0"></a><a id="Tc_ieQiBi750kGfGd44EyjG4w_7_0"></a><a id="Tc_XaMAWS4Xp0mZvC-cW3zK0g_9_0"></a><a id="Tc_BVjqZ2uQsUm1KuaHMLIzaw_10_0"></a><a id="Tc_wgaCWc2gR0e82DtLd7rb4A_10_2"></a><a id="Tc_AmWGBsyko02_HdAsYDV6UQ_10_5"></a><a id="Tc_m6DEg27C8EijhIbO8Yw6WA_11_0"></a><a id="Tc_gaSJi8uoJUa_6mZFVTBLPw_11_2"></a><a id="Tc_xMS-tQ_F0ka3_dUps8yhkA_11_5"></a><ix:continuation id="Tb_F_eg9v1Y70GM1I6ZKyPvfg_cont1"><ix:continuation id="Tb_G4blD2onbUKOixBIM6UOmA_cont1"><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:61.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:36.16%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended October&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.43%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.4%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:3px 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:14.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_vNN50W0Pe0Can5GSkp-ntQ_3_3">20,340</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px 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:14.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc__qHZ13FvQk-DDIBdWMNypw_3_6">19,465</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.31%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">Weighted average number of shares outstanding &#8211; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_9oUiAhV68UecsAzOySXDwQ_5_3">13,381</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_cv_WXnG710qUhijvLVMxYg_5_6">14,268</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.26%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.32%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="Tc_t0AesX-a7kGqYQt_8a-EWQ_6_3">168</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="Tc_aUZJsWyVOEamAP2FRhECcw_6_6">82</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">Weighted average number of shares outstanding &#8211; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_STQR17yRjE-PSvFAVObE3A_7_3">13,549</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"> <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_Ip4zVRx8H06HDlq_0TkCpw_7_6">14,350</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.31%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">Net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.26%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:3px 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:14.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_5LAQ57eUUkSf1-05Djl8yQ_10_3">1.52</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:3px 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:14.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_ImF-bDOUN0W81D8LhC86sw_10_6">1.36</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:3px 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:14.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_nfR496qh-kuEOvFTadtbyg_11_3">1.50</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px 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:14.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_jMVLy6eS2UGNwNUhh_wx4g_11_6">1.36</ix:nonFraction></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 nine months ended October 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Narr_ZeAANFBcxkWR3NVF8nPwuQ">881,056</ix:nonFraction></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;"><ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Narr_z90Th6LFM0-uHlRzIRkemQ">1,103,334</ix:nonFraction></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></ix:continuation></ix:continuation><a id="_19d10fd3_8156_4066_bb75_0cb4c1ab8c4b"></a><a id="_19d10fd3_8156_4066_bb75_0cb4c1ab8c4b_2"></a><a id="_19d10fd3_8156_4066_bb75_0cb4c1ab8c4b_3"></a><a id="_19d10fd3_8156_4066_bb75_0cb4c1ab8c4b_4"></a><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="agx:CashDividendAndTreasuryStockTextBlock" id="Tb_U5OuNi4RDEismXe-W-OX2g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 12 &#8211; CASH DIVIDENDS AND COMMON STOCK REPURCHASES</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 September 19, 2023, Argan&#8217;s board of directors increased the Company&#8217;s quarterly cash dividend by <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="As_Of_9_19_2023_gINSPJ0LeEi-tW4ncaLAkg" decimals="2" format="ixt:numdotdecimal" name="agx:PercentageIncreaseInCommonStockDividendPerShare" scale="-2" id="Narr_0SwkL96GFE-NnIQTGgtHqA">20</ix:nonFraction>% from $<ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_9_18_2023_To_9_18_2023_g8t3fgSiKkuwPJBMXhR0-w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Narr_R5XYBopPEU2dQCO3NlVYlQ">0.25</ix:nonFraction> to $<ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_9_19_2023_To_9_19_2023_P225MhbPHEKv_B83RaaMAg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Narr_xo3QEGYB1U2kP2XVPDe1Lw">0.30</ix:nonFraction> per share of common stock, which was <span style="-sec-ix-hidden:Hidden_Ajgz7_ecxkKV3UHC2MTVfw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">paid</span></span> on October 31, 2023 to stockholders of record at the close of business on October 23, 2023. The Company also made regular quarterly cash dividend payments in the amount of $<ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_4_1_2023_To_4_30_2023_HmFAs4ftaU-GBkq3IixcPQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Narr_PGrfBANbf0eH1ctBbjp16Q"><ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_7_1_2023_To_7_31_2023_Eie9zLwl00STBbUHvxa2vw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Narr_-XKcWFnd2Ue2MhvOn6Luxg">0.25</ix:nonFraction></ix:nonFraction> per share of common stock in July 2023 and April 2023. During the nine months ended October 31, 2022, the board of directors declared three regular quarterly cash dividends, each in the amount of $<ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2022_To_4_30_2022_30TDhKaaCE-W2jx2hHd2tQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Narr_MtsT5Z6DJU6fh0CXoDdI5w"><ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_5_1_2022_To_7_31_2022_F97vAHt2cE2stAX7PqauuA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Narr_ZhSX-6Ze50Wy3CoCHaEKgw"><ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Narr_BXB_1L7_u0mhtd10KA9fAw">0.25</ix:nonFraction></ix:nonFraction></ix:nonFraction> per share of common stock, which were paid to stockholders in October 2022, July 2022 and April 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&#8217;s board of directors, the Company repurchased shares of its common stock during the nine months ended October 31, 2023 and 2022 and added the shares to treasury stock. During these periods, the Company repurchased <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_nFvu6ooXmE687HHwBcZzpA">212,441</ix:nonFraction> shares and <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_-mFfAOzKwkWsX7BMbj-imQ">1,721,015</ix:nonFraction> shares of common stock, all on the open market, for aggregate prices of approximately <span style="-sec-ix-hidden:Hidden_hjEpon2EBUa5fTiijqbvbQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$8.4</span></span> million, or $<ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharePrice" scale="0" id="Narr__vDZFd_bCEmRIfSftiEjSg">39.67</ix:nonFraction> per share, and $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="6" id="Narr_W-UJK9TRzUSxLKnnaQ7X4g">63.3</ix:nonFraction> million, or $<ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharePrice" scale="0" id="Narr_zx2lhgGEX0KmBiORI6xWBw">36.75</ix:nonFraction> per share, respectively. For the nine months ended October 31, 2023, the Company accepted <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="0" id="Narr_mZp1c1F9p0mkkMweKOoEFg">29,058</ix:nonFraction> shares of common stock at the average price per share of $<ix:nonFraction unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="2" format="ixt:numdotdecimal" name="agx:ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation" scale="0" id="Narr_tf_bM3PbLUWSInsC3sXoMw">47.16</ix:nonFraction> for the exercise price and/or tax withholding in connection with stock option exercises and other share-based award settlements. For the nine months ended October 31, 2022, the Company did not accept any shares of common stock for such transactions.</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 nine months ended October 31, 2023, the Company used <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="INF" format="ixt:numdotdecimal" name="agx:TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards" scale="0" id="Narr_U_rCODK8C0KSHz2OTXhH5A">132,656</ix:nonFraction> shares of treasury stock to settle stock option exercises and other share-based awards. For the nine months ended October 31, 2022, <ix:nonFraction unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="INF" format="ixt-sec:numwordsen" name="agx:TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards" scale="0" id="Narr_3QpuKRcvHUy0Unjcx6emEA">no</ix:nonFraction> shares of treasury stock were used to settle such transactions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">In August 2022, the Inflation Reduction Act (the &#8220;IRA&#8221;) was signed into law, which introduced a 1% excise tax on the value of shares repurchased after December 31, 2022. For the nine months ended October 31, 2023, the excise tax was not material.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:ConcentrationRiskDisclosureTextBlock" id="Tb_WAaVnh33sEy5yn82_1MTgA" continuedAt="Tb_WAaVnh33sEy5yn82_1MTgA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 13 &#8211; 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&#8217;s consolidated revenues relate to performance by the power industry services segment which provided <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_TOFJYRCsZ0ax_sPugYpN-g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_Oc6ZmUe0v0e6YEwpTVO9rg">74</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_QxaikJocsk-i_XGrAIagMw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_muUmrkLr9UKQ-UUlKQwngg">77</ix:nonFraction>% of consolidated revenues for the three months ended October 31, 2023 and 2022, respectively, and <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_34MMemZmqUekjfaI-dijoQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_rwMNtilgiUeuXGv9K69cQA">73</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_AXM7UtxXwUCviabcBOhkZA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_2kFaVEA_BUOx1E5KTmwqYw">76</ix:nonFraction>% of consolidated revenues for the nine months ended October 31, 2023 and 2022, respectively. The industrial construction services segment represented <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_IndustrialConstructionServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_D9x0R5OFgkWBriGhuA42_Q" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_m5hXIR-p10eqBfHKQ3ojTA">23</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_IndustrialConstructionServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_b2E3ZdjNoEC8-fBnjJbqBg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_ZvOTkF3GI0ybMc3WFwHTOg">19</ix:nonFraction>% of consolidated revenues for the three months ended October 31, 2023 and 2022, respectively, and <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_IndustrialConstructionServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_QJv13vgwAEuBb9nY5ofDvA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_ZalH5LaJPk-OCUJKuA1Alg">25</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_IndustrialConstructionServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_dvCPd1QR10-JJqKAwbT9CQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_1wTHKsk3IEWOxCwe15E31Q">20</ix:nonFraction>% of consolidated revenues for the nine months ended October 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;">The Company&#8217;s most significant customer relationships for the three months ended October 31, 2023 included <ix:nonFraction unitRef="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_PTYeN21aqUSfOconqjq98w" decimals="INF" format="ixt-sec:numwordsen" name="agx:NumberOfMajorCustomers" scale="0" id="Narr_sHr8AK5gS06bKBgC4ONC5Q">three</ix:nonFraction> power industry service customers, which accounted for <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_8_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_0nodJzMte0WqkEfss4r00w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_Lq7ugwl0IUKBEdPDhBHGqw">23</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_8_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_qpPZ-64MGUuQRM3WfG1w2w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_DMqZz8T2J0etUGSyHIAprw">20</ix:nonFraction>%, and <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_8_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerThreeMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_nnGeiuH5yEqMOv1jy2fH6A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr__6WbbCZpLEaOWmbCQHXjaQ">17</ix:nonFraction>% of consolidated revenues. The Company&#8217;s most significant customer relationships for the three months ended October 31, 2022 included <ix:nonFraction unitRef="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_LqcJtSiDsUCe02J-ydHsUg" decimals="INF" format="ixt-sec:numwordsen" name="agx:NumberOfMajorCustomers" scale="0" id="Narr_z59HJO7560mBdI7bibcikQ">four</ix:nonFraction> power industry service customers, which accounted for <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_8_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_l3CwrdcD60arabrpdAWx-Q" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_MJqiBVMJlEeleYke8i-DWA">33</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_8_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_TTpPjmyM3UO3bmebx9N5vA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_Oqlb4Tp1n0WK45qjkTeMSQ">12</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_8_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerThreeMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_uA3eSQRV80a1DyYB3jBdtw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_2ZeNQl0UhEiET5Mw0R9c_g">12</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_8_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerFourMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_t6DLlDE3FESEj0IspBJW9w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_eNVvFCXU-Ui2fn-gtogJow">12</ix:nonFraction>% of consolidated revenues.&#160;The Company&#8217;s most significant customer relationships for the nine months ended October 31, 2023 included <ix:nonFraction unitRef="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_QFXkOZwmR0Ct1C_VD7cQWA" decimals="INF" format="ixt-sec:numwordsen" name="agx:NumberOfMajorCustomers" scale="0" id="Narr_4p0Put_Z40WN9TkHknIoZA">three</ix:nonFraction> power industry service customers, which </p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">20</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_WAaVnh33sEy5yn82_1MTgA_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">accounted for <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_DmW3_yXD0keQKcgPUINcBQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_A0hxvbwmU0C0XIcaE5oSiA">19</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_QVmQjWGAQEiyJ4EmIsGrBA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_bKIi1VWVk02KtpWNKTuFeQ">17</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerThreeMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_SC_qCYgMM0GHECWZidS6XQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr__DArAZGrUka93Kymx3lzuw">14</ix:nonFraction>% of consolidated revenues.&#160;The Company&#8217;s most significant customer relationship for the nine months ended October 31, 2022 included <ix:nonFraction unitRef="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_hWwH3jPQpUCOQVKtkR5_mg" decimals="INF" format="ixt-sec:numwordsen" name="agx:NumberOfMajorCustomers" scale="0" id="Narr_J08OMymOXEa2Hb_pR0_aiA">one</ix:nonFraction> power industry service customer, which accounted for <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_bbnTfRbF5kSzfnhw2dFrmw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_I9OirQcJy0GvWZGOSHppMg">42</ix:nonFraction>% of consolidated revenues.&#160; </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 <ix:nonFraction unitRef="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_RP1OztK-wUmMTaKrIv5ODg" decimals="INF" format="ixt-sec:numwordsen" name="agx:NumberOfMajorCustomers" scale="0" id="Narr_uHmznET6-Ui3ntp_rA5_eg">two</ix:nonFraction> major customers represented <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_6FBvwBXLfESPvY3_xEm4Vw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_s5Y3P5-82kyFjjSSz2z2HA">42</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_4cvGZp4InUWJMSxOfwdemQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_Fwn6xHIV70a2_9UthSbw3A">14</ix:nonFraction>% of the corresponding consolidated balance as of October 31, 2023. Accounts receivable balances from <ix:nonFraction unitRef="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q" contextRef="Duration_2_1_2022_To_1_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_s0-8b4_Lnkiyzwq89IUHGQ" decimals="INF" format="ixt-sec:numwordsen" name="agx:NumberOfMajorCustomers" scale="0" id="Narr_1yU11yXvy0ChPuXDZctgEw">three</ix:nonFraction> major customers represented <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2022_To_1_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember__sNLvg0oFEaJifoWDz25Fw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_5kg3BhTuvkOJgrCOEjYxKw">36</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2022_To_1_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Bgq30WwKoEyVLQ_Hnc7qqQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_Owm1cGWFKkqcLKft9vPHAA">12</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2022_To_1_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_zM_W8tsz80a6ZzIXW6pUFw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_w9F4I1oo50am4n7drPtuOQ">12</ix:nonFraction>% of the corresponding consolidated balance as of January 31, 2023. The contract asset balances associated with <ix:nonFraction unitRef="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember__R95hML_HEmhwl3v-VzLMw" decimals="INF" format="ixt-sec:numwordsen" name="agx:NumberOfMajorCustomers" scale="0" id="Narr_LVEwci0-sUSiRrC79i5yrA">two</ix:nonFraction> major customers represented <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_9Tpyr7w9JEqm9CmnGIYCeg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_21dFcj3GK0eIByUXh4ieVQ">30</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_4jyQyBOKOkWkJmXxlAMDYQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_5uEptKh_H0STG4GFt-JmzA">14</ix:nonFraction>% of the corresponding consolidated balance as of October 31, 2023. The contract asset balance associated with <ix:nonFraction unitRef="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q" contextRef="Duration_2_1_2022_To_1_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_mfZeUc6bWE6JSCid6sOu9w" decimals="INF" format="ixt-sec:numwordsen" name="agx:NumberOfMajorCustomers" scale="0" id="Narr_FhB-v3PrwUSG2whoZ9aK9g">one</ix:nonFraction> major customer represented <ix:nonFraction unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A" contextRef="Duration_2_1_2022_To_1_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_IPLz1CzhQEmHfD8E0Mm2Cg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_amuiwW6R4EKW6XvKE6fpFA">70</ix:nonFraction>% of the corresponding consolidated balance as of January 31, 2023.</p></ix:continuation><a id="Tc_yVHR5RKf7kGgRw87fNt6Zw_1_0"></a><a id="Tc_xlG33HuE8EWKiFopb3DdNg_1_2"></a><a id="Tc_-3F2bnUyOk-K1ow31a296Q_1_5"></a><a id="Tc_z3EXowIs9EKnm_VcDCjy8w_1_8"></a><a id="Tc_j8JJBOZsvke2zF8F12ZXdA_2_0"></a><a id="Tc_43AiTKIUZEClQzzULy_b-A_2_2"></a><a id="Tc_Cmpi1HM2YUi8zASum1L55Q_2_5"></a><a id="Tc_rLG1YLbo_EW-Xmoh1RbrIw_2_8"></a><a id="Tc_84L0hI-skUCzRRVEd2vstg_2_11"></a><a id="Tc_8eXYXteTYE-43BwiZJuS3A_2_14"></a><a id="Tc_T9MUhU2wmEajqUsxh3b1Iw_3_0"></a><a id="Tc_eq1Nl65tEEShetiKrTxwLg_3_2"></a><a id="Tc_tCTlmIXhUUuJCY7mdyjt1w_3_5"></a><a id="Tc_FnFnkK1us0WKVAOhcZLSng_3_8"></a><a id="Tc_BGwMSYq-SEWJ63e_S_3llA_3_11"></a><a id="Tc_5RzHrlCxpUavlckmsncJVQ_3_12"></a><a id="Tc_wZGQDFox80K5h2uhDnj9Nw_3_14"></a><a id="Tc_-70ZGJ7MEE28-d4KbvIcjQ_4_0"></a><a id="Tc_fT78OiG1JEyZpIS3ycaj2w_4_12"></a><a id="Tc_O7wJ9BT9l0OafqQTQcJZLA_5_0"></a><a id="Tc_v2wmEIyODkepBgrgjvVMlQ_5_12"></a><a id="Tc_1_h29EyswE2-g_9wcSuJQg_6_0"></a><a id="Tc_D2YtdAmf4EK8sYf87hodMw_7_0"></a><a id="Tc_i_BjhAsVh0CJVwn-gJ8_oQ_8_0"></a><a id="Tc_tZ4_9MBMYkaN-InpMaoujg_8_6"></a><a id="Tc_gSOUkAd7rUeXmCMtp-3JLA_8_9"></a><a id="Tc_DooN0bmZREyIjL_I95Wbhw_9_0"></a><a id="Tc_IBQTQrartE2PgvoybkpnHA_9_2"></a><a id="Tc_Jxlbbce1kEC5hdOT8a_bQQ_9_5"></a><a id="Tc_w5XuNDAPZEOQV6Hv5-O-OQ_9_8"></a><a id="Tc_hVhGuzKcjkyq5UU24SOIqg_9_11"></a><a id="Tc_xna-MZYI8UyEwyz-4f7c3w_10_0"></a><a id="Tc_9-WyoHeOhki6PtDwQGmwWQ_11_0"></a><a id="Tc_M8BftK3ai0uWsi2O1ZAnuw_11_14"></a><a id="Tc_dYa_hSlIQEC6D0LRUKWpJw_13_0"></a><a id="Tc_LZm3AuU7l0imP11cWDS4Kw_13_2"></a><a id="Tc_ywg873zcuEe1GGemg3-UlQ_13_3"></a><a id="Tc_7JryyPrO7EuQT-pmFYRNRQ_13_5"></a><a id="Tc_O2c0xhiY3kGfe9R3sj5u7A_13_8"></a><a id="Tc_Ig0yxLqv2Uu25x2sS98G3g_13_9"></a><a id="Tc_ey_QU2PEGESMPeNAm36UZQ_13_11"></a><a id="Tc_yrtCX7fhjkiSXCPxOU_dNQ_13_12"></a><a id="Tc_I4SK972mCEWzYWxtkZHjZQ_13_14"></a><a id="Tc_Ds3YJAalg0q2gOZAiq8aXQ_14_0"></a><a id="Tc_ohF6FPO5bUaBrqfjkPyrbw_15_0"></a><a id="Tc_ReSNeIsVyk-F410KQV1VxA_17_0"></a><a id="Tc_eK5Zp4ARlkeE381EKFZF1A_17_2"></a><a id="Tc_B7N1Oa8IFUCnIQYDL2h0uA_17_5"></a><a id="Tc_4INYi_KUaEmgUaAmPx_Uaw_17_8"></a><a id="Tc_gnnFnSNQFE-7no1V1_WqKg_17_11"></a><a id="Tc_V2qSg8Ao50GGBeYCSwrLpA_17_14"></a><a id="Tc_owZoJ05z_026AXJapAmSEg_18_0"></a><a id="Tc_qXjmJtwVn0mhdg3PfOK4Aw_19_0"></a><a id="Tc_zZavHIUh7EqBjbNY5e0Dkw_19_12"></a><a id="Tc_lCktEmQW906QW2xAEb7pJw_20_0"></a><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:SegmentReportingDisclosureTextBlock" id="Tb_5ppnwzbknEKc_bF1AFpilw" continuedAt="Tb_5ppnwzbknEKc_bF1AFpilw_cont1" escape="true"><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 &#8211; 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&#8217;s chief executive officer, who is the chief operating decision maker, in determining how to allocate resources and in assessing performance. The Company&#8217;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 <ix:nonFraction unitRef="Unit_Standard_segment_Qf-wPLAT-Uq_WKTfPWnY7g" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfOperatingSegments" scale="0" id="Narr_I_12Q2mqyk2hhFGka_mnrw">one</ix:nonFraction> 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 nine months ended October 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&#8217;s reportable business segments for the three and nine months ended October 31, 2023 and 2022. The &#8220;Other&#8221; column in each summary includes the Company&#8217;s corporate expenses.</p><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="Group_vK4Nxgg6_k6OU2YE_xRiJQ" continuedAt="Group_vK4Nxgg6_k6OU2YE_xRiJQ_2" escape="true"><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;">&#8203;</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:43.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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;"><b style="font-weight:bold;">Three Months Ended </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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;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;"><b style="font-weight:bold;">Power</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="visibility:hidden;">&#8203;</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:10pt;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.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;">&#8203;</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:10pt;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.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;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;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-weight:bold;visibility:hidden;">&#8203;</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;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;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;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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:center;margin:0pt;"><b style="font-weight:bold;">Services</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;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-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: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:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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:43.99%;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.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;">&#8203;</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.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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_xGNOltjIZ02YtZEbZ14MfQ_3_3">121,300</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_4wBH9aHj0EySvn3FATHVjg_3_6">38,434</ix:nonFraction></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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_mnJJ81oTDUm0CtvJYyWI2A_3_9">4,021</ix:nonFraction></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;">&#8203;</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.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_D554_YPPS0-SgbkHL65arQ_3_15">163,755</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_qOO1oIdAFUO4nIm0Fkd7-w_4_3">107,781</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_RDqiblwjoE6cU_31lS_puw_4_6">33,899</ix:nonFraction></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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_uPyjqs2gt0GgTW1aprBNcg_4_9">2,840</ix:nonFraction></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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_aPRG-iYrjkietFAYbdOmrA_4_15">144,520</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_vn42uK_eZEybMuSVbxmt8Q_5_3">13,519</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_z9dCzziU8UKrbfLoFY3akA_5_6">4,535</ix:nonFraction></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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_tSTYorzj5Ea_FF2dA1GBfw_5_9">1,181</ix:nonFraction></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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_3FKW6J9ZY0COBr1UrsxL4Q_5_15">19,235</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_p7T-FkbP3Uy5jI93bpYmTQ_6_3">6,390</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_-jdzpssPy06RJYxzQzPJdw_6_6">1,626</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_EL8EKSY8Fk2KyACgPmt6aw_6_9">608</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_2gQcgtAOAU2tLT818DbZLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_MZv6k7kj5UKm3Bc3VDaUwQ_6_12">2,751</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_Eltpr-0j0U-8-WCa_buAiA_6_15">11,375</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_WPHoYCChwkWHAqj45H8PEg_7_3">7,129</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_uBfbvzx5_ku1e75zhhDQjw_7_6">2,909</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_Gz9LDv9LpkKAtHhW2Qn7FA_7_9">573</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_2gQcgtAOAU2tLT818DbZLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_81ANIJbPFUilR2Lq4x8sCw_7_12">2,751</ix:nonFraction>)</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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_ilCvcfUV4EWdDilwijsyoQ_7_15">7,860</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_Y0zejvQeMkOLUWk2t-PiuA_8_3">3,391</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_2gQcgtAOAU2tLT818DbZLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_Ji8GnSoHuUW7yyBLOLllHQ_8_12">342</ix:nonFraction></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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_2R_o8tCjMkKftZUfh4dccA_8_15">3,733</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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.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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_lQnExz9lc0mZwQ-Ndp4wKQ_9_3">10,520</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_tyN01To0pEe3B2yN9g6yuw_9_6">2,909</ix:nonFraction></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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_zqp-OTkjd0CvpZBXNlcc2Q_9_9">573</ix:nonFraction></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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_2gQcgtAOAU2tLT818DbZLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_hJ1D2UZ7qEyzLTPFczjacA_9_12">2,409</ix:nonFraction>)</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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_c7bHj5qwL0ag9u3gV1pPFg_9_15">11,593</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_frz27QzeX0qW1o0pDIqrCQ_10_15">6,129</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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;">&#8203;</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;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_qS2sZuCNr0qApwUYGoKuvw_11_15">5,464</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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.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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Tc_cArG0mTc60i25mo4sKktcg_13_6">98</ix:nonFraction></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;">&#8203;</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;"> &#8212;</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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Tc_ipGr0E-BuUqDDzr9F8lRqQ_13_15">98</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_GbHW1JU0t0SBo6d3zLnSrw_14_3">137</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_nrsLpkm6TUOzv-e-vF2iPQ_14_6">249</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_YcGXHjB6rUOO6jFq0_9C_g_14_9">102</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_2gQcgtAOAU2tLT818DbZLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_QtpBnk9cHECKZzjrDooLlA_14_12">1</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_fMUJGBLyO0yIdd9BCYYNHg_14_15">489</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_rfqBZ6DOc067Dcarmloo8A_15_3">583</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_-dXXqQ-U6EOWp_SURgMMog_15_6">497</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_mSVqIlJXX02zz66MHOXH7Q_15_9">31</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_2gQcgtAOAU2tLT818DbZLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_q1Dp8AviUEqazjClK2BW_Q_15_12">1</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_UuHF7YxOx0eLZMdMm-gAsw_15_15">1,112</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin: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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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.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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_C7iIItZ2K0SkA10qUMh2-g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_JdG6ECYNOECLxOI0XUka0A_17_3">399,489</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_joXSAgZ9hkqwVMYk9JYtXg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_hOjFQSMGxUGirleFM63xnw_17_6">39,843</ix:nonFraction></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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_4AE0uNKkakG4Sj9kA1BTKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_C6ZCD5OxBkexG-_HLWr5Sg_17_9">3,701</ix:nonFraction></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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_SY7C-1jRW06vsOLX3_3ZaA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_NAzBF1dfP0-JoCzfR0T_xA_17_12">71,038</ix:nonFraction></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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_NSoS0nvAkkSEypwR5K2kvw_17_15">514,071</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_C7iIItZ2K0SkA10qUMh2-g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_a9dvuOMeSE6Xo3u6y9G21w_18_3">244,662</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_joXSAgZ9hkqwVMYk9JYtXg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_1EN-V6i3JE2pjEbZgZvKHA_18_6">25,839</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_4AE0uNKkakG4Sj9kA1BTKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_QlgDYJLCHU-T7Pd9Kv1IUQ_18_9">1,801</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_SY7C-1jRW06vsOLX3_3ZaA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_Nqd3D4jZpUyQ9jIXj6mRpQ_18_12">1,592</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_XipPlJV-uEuwMm8YzmJHlQ_18_15">273,894</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_C7iIItZ2K0SkA10qUMh2-g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_4lOCE8dy2U6DyEn_63FjnQ_19_3">18,476</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_joXSAgZ9hkqwVMYk9JYtXg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_D6oSMQrUrkaL3_kLwCeh9w_19_6">9,467</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_4AE0uNKkakG4Sj9kA1BTKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_UjgnoFaYBEGKon23Whpg7g_19_9">90</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_P1mQvh6tr02SEz8i42IDnw_19_15">28,033</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_C7iIItZ2K0SkA10qUMh2-g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_IH6cNX356kSz2TBRWzZTmA_20_3">426,466</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_joXSAgZ9hkqwVMYk9JYtXg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_kUbP_y6pIkKc1bL7bcUscw_20_6">57,112</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_4AE0uNKkakG4Sj9kA1BTKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_66FOyFlyQkKe2Cij3lfJbg_20_9">6,519</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_SY7C-1jRW06vsOLX3_3ZaA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_sfgwOhyT_U6a20X9wsClOQ_20_12">73,555</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_870mI6NQmkOhDG3JLPPraA_20_15">563,652</ix:nonFraction></span></p></td></tr></table></ix:nonNumeric><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;">&#8203;</span></p><ix:continuation id="Group_vK4Nxgg6_k6OU2YE_xRiJQ_2" continuedAt="Group_vK4Nxgg6_k6OU2YE_xRiJQ_2_cont1"><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;">&#8203;</span></p></ix:continuation></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">21</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_Lq-ZCszz9EmOqrXTF0vY9w_1_0"></a><a id="Tc_Wpn4lB0wkUK46xF_u-_QHg_1_2"></a><a id="Tc_C-0g1yamEUiFEUcj65S09Q_1_5"></a><a id="Tc_Zc_j7AI_9EKKE5xfGp64MQ_1_8"></a><a id="Tc_ykUn165g-U-Sp2SSEEB1bA_2_0"></a><a id="Tc_Xb1kJE_8yky-_NqM1LuHzw_2_2"></a><a id="Tc_JenXIeNaU0-Erc0BNebbZA_2_5"></a><a id="Tc_b2H9LvPVyUW9IqQhDDQRAg_2_8"></a><a id="Tc_-ZDX-U9XuEaBk0Wm196aeA_2_11"></a><a id="Tc_D2okWRyvzk68rqBVSa7gAQ_2_14"></a><a id="Tc_AbuweiDZXE6g-fAXxkZERw_3_0"></a><a id="Tc_RTYMX5pNbk-bQtv7-2ashg_3_2"></a><a id="Tc_JqV2xSefmEi0O4kXSRPbsg_3_5"></a><a id="Tc_QnmEaVNIbkqgnUX9YCpXAg_3_8"></a><a id="Tc_661vV4r96EGSo8yE086ajg_3_11"></a><a id="Tc_2ybF-9KUTE6HkgNSaJEvxQ_3_12"></a><a id="Tc_BYxm40L_bkCkWJA1qRlBXw_3_14"></a><a id="Tc_pdrjTAhFYUerneV7l-B9XA_4_0"></a><a id="Tc_FHGwQmVfzUKzgV5r3PBjzQ_4_12"></a><a id="Tc_nkFmLKpSGku2s-BeZ-C1nA_5_0"></a><a id="Tc_G8OP6NzH9EWX7ex579TjiA_5_12"></a><a id="Tc_M76g9c0KXk-kGUhb64suRA_6_0"></a><a id="Tc_MLub45Mqw0uLJMG4wECNag_7_0"></a><a id="Tc_EOaaM_tIs0GlBhsEav2Hbw_8_0"></a><a id="Tc_jp9jJZXpekGrt1JnsXalDQ_8_6"></a><a id="Tc_08Xdlf9rrUWUKZwEDTqXjQ_8_9"></a><a id="Tc_RIwJ90pWIEumoe-pUKwF2g_9_0"></a><a id="Tc_h9JRZSfL6k-UFzTqNc8m5A_9_2"></a><a id="Tc_iNjvc5GmkEy2uQcJYTK8pQ_9_5"></a><a id="Tc_hO2zamS5rkmAk1deneMjUg_9_8"></a><a id="Tc_krSGrSbrOEW-ggKZLmAHGA_9_11"></a><a id="Tc_vsZOSIXQpUiGmja3LR8cAg_10_0"></a><a id="Tc_A-CMzkWCDU67MBRkLIsckw_11_0"></a><a id="Tc_AlQReFArukW0xIXlMvS9YA_11_14"></a><a id="Tc_9fJbVHsLl0qXHSq520Pz1w_13_0"></a><a id="Tc_fGD5DTik-0iexXJ0Rgx0QQ_13_2"></a><a id="Tc_SiL4_wO0XEmX7ZBwwW_aZw_13_3"></a><a id="Tc_jRWF0wlo60KU9Wkn-2cszQ_13_5"></a><a id="Tc_kmgqUrhZhEm-lgQjUltoGw_13_8"></a><a id="Tc_Anuy5cJpeEGXr6EnRWWuvg_13_11"></a><a id="Tc_nbgAyOHypUSaW8HzLeubCg_13_12"></a><a id="Tc_pyMG3bhPvEqr5FyDFQv8qw_13_14"></a><a id="Tc_VdQqtNoPX0CucKFtSsSykQ_14_0"></a><a id="Tc_7REDs0v_DkSJbltTugr56g_15_0"></a><a id="Tc_fbpRDpi2O0ixi4m4Dc2g3A_17_0"></a><a id="Tc_ZOzYjApTSUmtzAoAKkp1Zg_17_2"></a><a id="Tc_VVq7m8HZkES0T6QkL1egWw_17_5"></a><a id="Tc_grRModT21UuCanoBYAT1Wg_17_8"></a><a id="Tc_lRNTa_Rz-ECDpps-_K91BA_17_11"></a><a id="Tc_Dgm2SoCLL0G4eJSgMIrmzQ_17_14"></a><a id="Tc_uqijY8AYl0-PUdpZK9rQmg_18_0"></a><a id="Tc_iUfbIT2oVUSWqGbzgucRvQ_19_0"></a><a id="Tc_k3Mq6CDjeU6byQKpM8VoKA_19_12"></a><a id="Tc_-HQz8eZrR0KDILdhEPRclw_20_0"></a><a id="_14d900e0_7950_4b0a_b212_3f5ae3e7a5af"></a><a id="Tc_5Vr5OOwqykmv-ZLdiONxVA_1_0"></a><a id="Tc_u66RlkWknUiBVUtwvU2eUQ_1_2"></a><a id="Tc_llRZFZmAKUictUoGd4wWvQ_1_5"></a><a id="Tc_Ftfl4S5c_0yQ6Y4N7NJisA_1_8"></a><a id="Tc_3RVnp2zVgUe9o-70o0990g_2_0"></a><a id="Tc_BJOakLo45EGe21E2hyMDfw_2_2"></a><a id="Tc_m8aOll0-_0OFFLoye9gXiQ_2_5"></a><a id="Tc_jLMXt3IxdkmPvYxLAstbOQ_2_8"></a><a id="Tc_IghWo8a1SESVPX6lTI7ANw_2_11"></a><a id="Tc_j7qre_exlk2rEY8ThYhiYg_2_14"></a><a id="Tc_846q-5Qjmkqag-VI9QoRbw_3_0"></a><a id="Tc_FMoHhkz7Z0ysBtd3I_aSbA_3_2"></a><a id="Tc_urPKdHQNtUeRn9FdvNeeRQ_3_5"></a><a id="Tc_gscaue4fV029l7iUkk7o7A_3_8"></a><a id="Tc_bWuENlqwpkmNLdY7MjqJ0A_3_11"></a><a id="Tc_h-HeAhlZ3E2lGjE-X2lG_w_3_12"></a><a id="Tc_7xrmmxygw0OzQroIs-A47w_3_14"></a><a id="Tc_i1GLGHPv-EqilPd1o_jxrA_4_0"></a><a id="Tc_xpsz6UgyzECg7Qjp2fMWcw_4_12"></a><a id="Tc_-tZ4sDkBU0SpiCYbI_npCQ_5_0"></a><a id="Tc_cI9YMo7ug0OcHC0cBksjVQ_5_12"></a><a id="Tc_7y17yypuzkKH07EjgEIRaw_6_0"></a><a id="Tc_W0bRIUNoDE6WgIE-pa9ApA_7_0"></a><a id="Tc_pv9djlpmUkCo0pKyB7DJCg_8_0"></a><a id="Tc_wl07PGX8kkebXlCmZZLnfg_8_6"></a><a id="Tc_EYcr1EF7nUCypxBhNfPu3w_9_0"></a><a id="Tc_wJ9gkUhAe02rHGLgiUQhvA_9_2"></a><a id="Tc_Ju8_-z7_L0-OLzhd_cpu0Q_9_5"></a><a id="Tc_z8avf9mFikabrv0yzti87A_9_8"></a><a id="Tc_mDodcyDypk2asFIkE_YGkQ_9_11"></a><a id="Tc_EVCphd8xjki2F7XpFIxNAw_10_0"></a><a id="Tc_ceR-_pfnFUy715EOJ7IkFA_11_0"></a><a id="Tc_jlKbcJTNVE6Gs8QDE9ltJA_11_14"></a><a id="Tc_d8u2iI0J7EmnHxA0czKyow_13_0"></a><a id="Tc_HcbXEhiWwUGpXTPXKqDUwg_13_2"></a><a id="Tc_RmNmIzT9-0aVDuJJJdCENA_13_3"></a><a id="Tc_2WxNA2MaM02vXx4uFZZZaQ_13_5"></a><a id="Tc_85-96vX5i0GqXDIytmc4Ag_13_8"></a><a id="Tc_xc_qSFDRZkGXYKxyZzdoDA_13_9"></a><a id="Tc_xSM3prUerEizhoCA_yAK_A_13_11"></a><a id="Tc_OSmz1oBV40yJUx5p6OJzcA_13_12"></a><a id="Tc_yrPQ5i657028pg-J3i8XFg_13_14"></a><a id="Tc_SNnD4zXPpESkZvPJCy6XNw_14_0"></a><a id="Tc_oRkIo8oDKU21taE_Q8FqtA_15_0"></a><ix:continuation id="Tb_5ppnwzbknEKc_bF1AFpilw_cont1" continuedAt="Tb_5ppnwzbknEKc_bF1AFpilw_cont2"><ix:continuation id="Group_vK4Nxgg6_k6OU2YE_xRiJQ_2_cont1" continuedAt="Group_vK4Nxgg6_k6OU2YE_xRiJQ_3"><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:43.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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;"><b style="font-weight:bold;">Three Months Ended </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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;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;"><b style="font-weight:bold;">Power</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-weight:bold;visibility:hidden;">&#8203;</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:10pt;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.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;">&#8203;</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:10pt;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.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;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;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-weight:bold;visibility:hidden;">&#8203;</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;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;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;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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:center;margin:0pt;"><b style="font-weight:bold;">Services</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-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: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:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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:43.99%;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.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;">&#8203;</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.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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_ymVXHY-ngkCGyPjyCrlO4g_3_3">90,682</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_wg9j2zRaRkKdB3RImth3Lw_3_6">22,137</ix:nonFraction></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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_c2Y7IerNPkqhJLniAVBGdA_3_9">5,056</ix:nonFraction></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;">&#8203;</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.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_k5t5J1xj8EO2JPxEfUHRKg_3_15">117,875</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_diu6BKEnXkGMsdAiucp43Q_4_3">72,725</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_DcAZlOsFQE2kdbPOPBCfrw_4_6">18,737</ix:nonFraction></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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_F1oaKcR-cU6o7-LMyrM3Pw_4_9">4,205</ix:nonFraction></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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_GP1g68EcjEGkNrNaXxCOiw_4_15">95,667</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_UJdvxhb_FE6sLtpfNrDlsg_5_3">17,957</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_7Fb3t_PonU-cU5S73ND89g_5_6">3,400</ix:nonFraction></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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_fHfIg1zRsEKjCUfXQmrnkg_5_9">851</ix:nonFraction></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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_ejBgOgE3kky1BajkAOfIPA_5_15">22,208</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_3BQevPeRCken_NlqUJAu7Q_6_3">6,745</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_0Eko0gL1akqmpn9rCnTzcw_6_6">1,823</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_FzCy3LnsYESB-3v0FMFfUw_6_9">796</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_qFGQqrhQ90mtJgXd2fI7Rw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_yyyw8Vtc1Emw2wrsHi4h4Q_6_12">3,303</ix:nonFraction></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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_jFw4PXrOWUahEbu_jylE3g_6_15">12,667</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_WkipQaJ-gUGhFfrYaBqgRw_7_3">11,212</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_c65jaIXZ60-emfhWsAFwAw_7_6">1,577</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_zHQg51qyg0ms1vSFahqeDQ_7_9">55</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_qFGQqrhQ90mtJgXd2fI7Rw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_jpzuO6EguEujvV2XAZUtsA_7_12">3,303</ix:nonFraction>)</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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_qv9RpUm4sUm0B40GQ_NPXg_7_15">9,541</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_hbLLPJV9s0-ehFXwWjBE9Q_8_3">592</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_qFGQqrhQ90mtJgXd2fI7Rw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_XBvRkUfBPUKkJlouhiFDHg_8_12">176</ix:nonFraction></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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_FYtjACQIfU6HcjTKRoOR3Q_8_15">768</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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.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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_juMBdA3tOkOz97qESMQaDg_9_3">11,804</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_w2IBnFGV30aoXo5Rg0XiZg_9_6">1,577</ix:nonFraction></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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_Vl4qJrIc9UOspfbP3PBioA_9_9">55</ix:nonFraction></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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_qFGQqrhQ90mtJgXd2fI7Rw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_w_sxJU8JuUS-WNlcnPdrRA_9_12">3,127</ix:nonFraction>)</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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_RsZUXUkBrEe-a4iEY_3I1g_9_15">10,309</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_KSuevhOwVkWhd8RV5wxhZw_10_15">2,551</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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;">&#8203;</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;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_fDtkr8NGa0Kbx7pdymozjQ_11_15">7,758</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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.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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Tc_lni-qXGBMUaQpeeQlHKL_A_13_6">166</ix:nonFraction></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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Tc_jsw9k9eVZkm5KaiycWA40g_13_9">46</ix:nonFraction></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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Tc_928ASjkNTESZU8LNjGZrow_13_15">212</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_GkjZ2Fj-H0Kix3Fy-nyYOw_14_3">142</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_ZGpRzxBd7EWToDCMXZrnjQ_14_6">501</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_q1uOWCVZcEW8M5v__oOShQ_14_9">96</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_qFGQqrhQ90mtJgXd2fI7Rw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_HKUmj3fXZk2dF9JY8pQoEw_14_12">1</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_HASaFseqh0CNdTlbACXfVg_14_15">740</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_OxjQShTHNE6zZpq6rw58xg_15_3">774</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_Am2-lIP7RE6RjOZah9Ghww_15_6">928</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_yWiFT_eSJEWSRanxSbjajQ_15_9">238</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_qFGQqrhQ90mtJgXd2fI7Rw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_E-K_X7jneU6vLn612nAtcg_15_12">4</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_Op5a0Jeuqk2J8pCTZGnAkA_15_15">1,944</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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.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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Ne7C0d2hAUqp12hEB0RXhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_NKW3XAhEFkWEdBbJX9fbDA_17_3">237,575</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_g6tNsTHOZ0Kgn9AXhoZDyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_jOtUQAIn2kmxn_Pdm5isKg_17_6">31,355</ix:nonFraction></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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_yCSEoP9M-EapQq-dnwWWTg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_68LzOeKMfUGZCbxNFSfcNQ_17_9">4,076</ix:nonFraction></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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_Eo_94pCbHE2BEsUFrvUz2g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_II1tMCAQxU2ltwUn3aA36Q_17_12">91,959</ix:nonFraction></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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_Xr4qrdz4hU2JQu-HZ-Dl1A_17_15">364,965</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Ne7C0d2hAUqp12hEB0RXhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_i7OV_Imm3kq7yDHxiPaCtw_18_3">110,383</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_g6tNsTHOZ0Kgn9AXhoZDyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_8AYep8op7U2YDMa8gKqjjw_18_6">21,560</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_yCSEoP9M-EapQq-dnwWWTg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_fFAPwYcC1Ui1YgVbAkM3Ig_18_9">1,420</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_Eo_94pCbHE2BEsUFrvUz2g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_itoEGGMYTUSTEY7EIP-AUQ_18_12">1,179</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_SZJ3S25K20yAwgN1H1A-NQ_18_15">134,542</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Ne7C0d2hAUqp12hEB0RXhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_BGV-SXQYtUGiIVJpFTZOGA_19_3">18,476</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_g6tNsTHOZ0Kgn9AXhoZDyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_upq8OBAe30KRAKiMXuJXGQ_19_6">9,467</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_yCSEoP9M-EapQq-dnwWWTg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_GxKKOCIpiUqo2XqQn0CXkQ_19_9">90</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_obUP2Vk3s0Wl9btwMbHRBA_19_15">28,033</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Ne7C0d2hAUqp12hEB0RXhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_5LVwIOVth0-XFRqrQRuWLQ_20_3">261,994</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_g6tNsTHOZ0Kgn9AXhoZDyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_bQ7GQGvd0kGutN4Ay0FDWQ_20_6">48,766</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_yCSEoP9M-EapQq-dnwWWTg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_4hBbESLqwEGK8nmoYR_1Vg_20_9">7,434</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_Eo_94pCbHE2BEsUFrvUz2g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_c4w7_zIZV02oSByDfIOaMw_20_12">92,709</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_LTYGHjgo5U6xT8zJkI5cWw_20_15">410,903</ix:nonFraction></span></p></td></tr></table></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><ix:continuation id="Group_vK4Nxgg6_k6OU2YE_xRiJQ_3" continuedAt="Group_vK4Nxgg6_k6OU2YE_xRiJQ_3_cont1"><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;">&#8203;</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:43.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.93%;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;"><b style="font-weight:bold;">Nine Months Ended </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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;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;"><b style="font-weight:bold;">Power</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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;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;"><b style="font-weight:bold;">Industrial</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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.68%;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;"><b style="font-weight:bold;">Telecom</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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.7%;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-weight:bold;visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.93%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;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;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</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;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</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;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.68%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Services</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;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-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: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:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;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:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_2Jn1fv-OOESWJrhDA23s1g_3_3">296,821</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_xuN02zHq4kubhKPF5S-sVQ_3_6">101,497</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_GUIGRi_K8UKYGqnRjfkO-g_3_9">10,461</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_mh0EB7R1TEWQMb8849J3AA_3_15">408,779</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_-olik3n7WkKWbydI9BnwnQ_4_3">255,210</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_5ss6aCVKmk2dtmduWAISDQ_4_6">88,537</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_fKV-PiQ-8E2AbfcqnhHEug_4_9">7,831</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_RD1s77oS90CAU93LK1-jUg_4_15">351,578</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_mPTV1JaTTESgxFA62JtTOw_5_3">41,611</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_dzSpGnBH-0yGGy0E30Le-w_5_6">12,960</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_lAjyjWSZtkW0wOZ4V7ZacA_5_9">2,630</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_WOHltfII3UOx6UE_tz_aNw_5_15">57,201</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_mzokadtubEGtIetMgKYu_w_6_3">17,700</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_SxmhCZAzjk6Ole9WEGUd9w_6_6">4,532</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_6KLNkfKhMEuLHMFGrV3tTQ_6_9">2,038</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_k5H1fVH6TEiPuox9CDHJDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_TjLjb2bDHUyEMQeQcbNnRQ_6_12">8,197</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_sHmYt_H2yEGChGiiTN5IXg_6_15">32,467</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_FL-5RnEPrEutxw3hh-D5Zg_7_3">23,911</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_r8I16dk8A0GlVh2JkVsuCA_7_6">8,428</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_dIxWooJxJU2Dsxk6Qv6BKA_7_9">592</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_k5H1fVH6TEiPuox9CDHJDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_piqL2IBWhESeVC8A9CTgqA_7_12">8,197</ix:nonFraction>)</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_46ofzwaZQ0-kOFLReex0rg_7_15">24,734</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_3G6lzsi_i02jcJYUDEK6LA_8_3">9,088</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" sign="-" scale="3" id="Tc_cbcyXoUpsUqfFrufdikAsg_8_9">3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_k5H1fVH6TEiPuox9CDHJDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" sign="-" scale="3" id="Tc_BN2zLQtQRkioOHOhNoJZYA_8_12">1,863</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc__3BtT2S-VESJN40QvOWcGw_8_15">7,222</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_vi8ya7g3AE6Ge2PeoybIlw_9_3">32,999</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_K3fOv9XgG06TlKBl3jfhHA_9_6">8,428</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_MuxcUhW3AEmUj-cb7WbcZQ_9_9">589</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_k5H1fVH6TEiPuox9CDHJDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_1P7RTzJdDk2ydiLXW6VDeg_9_12">10,060</ix:nonFraction>)</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_ZqzDmWFkDEqOch8vCpVNHg_9_15">31,956</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_Yhu1DZ7ZjUOAL8RuIaIEVA_10_15">11,616</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_XyQHCmxcBE-FcnSJz1JVJQ_11_15">20,340</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Tc_FM6gd9C8XUi1TdJigEso-w_13_6">294</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Tc_d5Pz4iaWz0qWfJk8SllOZQ_13_15">294</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:3px 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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_CEVS_jGtpkW9QT-WCPE4lQ_14_3">393</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:3px 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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_VlK9_uHTcEKYQsglLR84-Q_14_6">813</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_2KjRBYnhP0WA-ajNNWCA0w_14_9">315</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_k5H1fVH6TEiPuox9CDHJDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_R_3Nwk-oikS6bGKw0jXC2Q_14_12">3</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:3px 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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_YTj3W2kjG0acfv_n1YjjzQ_14_15">1,524</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_LlAq5n2EVkC6w-lliY5TDQ_15_3">1,120</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_ZeQmS2ma90SSb2JJUPs-Jg_15_6">973</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_3g20IzSXKkeu4YJyeEyKIA_15_9">49</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_k5H1fVH6TEiPuox9CDHJDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_OcF3wnyeaki_7-PZETHw1A_15_12">1</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_gnr_sK8SdEmXCsQSQAEjVQ_15_15">2,143</ix:nonFraction></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;">&#8203;</span></p></ix:continuation></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">22</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_d8946837_efe7_464e_8664_26619bc4ea29"></a><a id="Tc_jalQ8Cfd0ESv5vyclUkk8A_1_0"></a><a id="Tc_LTInZlF0IUKiDWAnLcCcfw_1_2"></a><a id="Tc_0Hdrr7UgBEiUvo9-coYqPg_1_5"></a><a id="Tc_Ydhe8JURNUClfzBE7V35Gw_1_8"></a><a id="Tc_wbdBpEcqO0aZCQKSguTNKg_2_0"></a><a id="Tc_uxEA5cU4q0mAxab0xGQc3g_2_2"></a><a id="Tc_4IwBk9rIB0uYRU7OvTfbsA_2_5"></a><a id="Tc_giN07PD10EqYdywkobpnCA_2_8"></a><a id="Tc_W-ynmH1fy0K-UF-yTX_CEQ_2_11"></a><a id="Tc_I3oCAGCOk0KALaPXppPYWA_2_14"></a><a id="Tc_wwhM_VFRuECqoB_fCJh3HQ_3_0"></a><a id="Tc__5NRXS_fikOaeOKgqJmygw_3_2"></a><a id="Tc_is_mbMbEAUixb6nQocPBSQ_3_5"></a><a id="Tc_5SiP8N_XwkuTDoVUwC-66g_3_8"></a><a id="Tc_iklt8_3c1kSjw6h2i4odrg_3_11"></a><a id="Tc_gJZ7VGeJ90Gyo2YlF7UAMQ_3_12"></a><a id="Tc_rJD1Mg_HOEaT0Wg-6RZJyQ_3_14"></a><a id="Tc_phQhOxuC3U-ApY51tx2yUw_4_0"></a><a id="Tc_nNoV0azNtk6r8F4lKXfoNw_4_12"></a><a id="Tc_zH0ntmgrykiaqEn0J6FlJg_5_0"></a><a id="Tc_pLPnoBbpukaikCaIy1naqA_5_12"></a><a id="Tc_3YdzOJA0zUS8yHYOIPP5ww_6_0"></a><a id="Tc_ViiQFoZoMEGuHY3EPr-UbA_7_0"></a><a id="Tc_OqONjj6_50CWBiq3PcQP_g_8_0"></a><a id="Tc_QjwFV6JhqUCZGfCa12VwtQ_8_6"></a><a id="Tc_YPFyGAftmk2NHe6yjo5eEQ_9_0"></a><a id="Tc_nnAqvcHq3EqMCtsJ0hCsiw_9_2"></a><a id="Tc_obGmmizc0kyDioRcz9-K1Q_9_5"></a><a id="Tc_sKQwummuTU6yIVA3S7Rqyg_9_8"></a><a id="Tc_QTf9zqTVWkOV1GuCwjO1pQ_9_11"></a><a id="Tc_CIB7k8tx2UKgVB4GxjQfIA_10_0"></a><a id="Tc_fi8fOknlc0ypx2jlDOBZsg_11_0"></a><a id="Tc_VgLH3JcwxkWCeFgCqG4waQ_11_14"></a><a id="Tc_L-N_bMDEv0ivqsSjHQAOtQ_13_0"></a><a id="Tc_s20AfpV1W0C2DdSRzkeDrQ_13_2"></a><a id="Tc_EWkQUh6Tg0C_09KiFhu7rA_13_3"></a><a id="Tc_UN7tt8KKmUCaNCxfCUkAqg_13_5"></a><a id="Tc_46DXWdmW6EyeV3LPf3GWzA_13_8"></a><a id="Tc_n7-ECZwDRUa3EdAjWqGkWw_13_11"></a><a id="Tc_x88UaqbRaEOP3fiXDcoubA_13_12"></a><a id="Tc_0fS6Aojyw02wFH9l0cbGzA_13_14"></a><a id="Tc_wgNcIOlbR0-Y90t8wrLV6g_14_0"></a><a id="Tc_VrOA82jJF0aNvd6aeKnHEA_15_0"></a><ix:continuation id="Tb_5ppnwzbknEKc_bF1AFpilw_cont2"><ix:continuation id="Group_vK4Nxgg6_k6OU2YE_xRiJQ_3_cont1"><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:43.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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;"><b style="font-weight:bold;">Nine Months Ended </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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;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;"><b style="font-weight:bold;">Power</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-weight:bold;visibility:hidden;">&#8203;</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:10pt;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.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;">&#8203;</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:10pt;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.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;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;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-weight:bold;visibility:hidden;">&#8203;</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;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;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;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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:center;margin:0pt;"><b style="font-weight:bold;">Services</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-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: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:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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:43.99%;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.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;">&#8203;</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.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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_s_odw-FpV0ucaU9j4PNN6A_3_3">255,958</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_bd7-NYVBME2dAfCPB7W5kg_3_6">67,660</ix:nonFraction></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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_jXj8b29Pj0K32ngGVdWwoQ_3_9">12,644</ix:nonFraction></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;">&#8203;</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.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_BcHQ5QjM3kSBn3nCIiuDzQ_3_15">336,262</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_H-kFhVKJF0mi2LzLrZuWZg_4_3">202,985</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_5dDzxGx26kK5H0WPzHxOqw_4_6">56,968</ix:nonFraction></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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_qCasfodRbUS3yeWNaditmg_4_9">9,976</ix:nonFraction></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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfRevenue" scale="3" id="Tc_T25g6POEBEaG9ON38JXavg_4_15">269,929</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_GViIMJzS-0mUUtPVky0dXw_5_3">52,973</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_BFCMyPpS_kWq5nwKQ3EYuw_5_6">10,692</ix:nonFraction></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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_HeYUnCHZ6kWktU5iVkoLuA_5_9">2,668</ix:nonFraction></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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_soVNvXb1FUmwXzCBmZvoDw_5_15">66,333</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_jLXbkZEWdEm178-TJAw06A_6_3">18,418</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_NBgjiLlqcUGbbAEOUPrE8w_6_6">5,267</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_mUmAzBHZqUKFMyDabcO-Bw_6_9">2,369</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_LGwCN6dECkSeVEpVwGfKVQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_bS7PtZ0KpUW_NEmNyeYkvA_6_12">8,172</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_RfsjJABbYk6ViZU1JRTG5Q_6_15">34,226</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_kiiKWPWKXkO2YCjlhdfEPA_7_3">34,555</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_U7q6zBgNnUGI8SqeEhRANA_7_6">5,425</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_ppLolFbPJUS9HkFMQFvivA_7_9">299</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_LGwCN6dECkSeVEpVwGfKVQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_8ZF6UEfbaUeYOBzdkkODsg_7_12">8,172</ix:nonFraction>)</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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_aZla7JdObEqQNUV-pLFxwg_7_15">32,107</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_kdwGttjOOEeNzNpbz2rESQ_8_3">1,613</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_t1D8upvxpUO_s0mOtdZOEQ_8_9">1</ix:nonFraction></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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_LGwCN6dECkSeVEpVwGfKVQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_HfJ6YTcKrECdHWmN2SGW3Q_8_12">254</ix:nonFraction></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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_XVdD9uC66EKRsKJ5qoUQZQ_8_15">1,868</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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.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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_A4_ZqHqBP0KvublgO8vJrA_9_3">36,168</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_JRvkIH5m50-HcwdEcknjxw_9_6">5,425</ix:nonFraction></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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_Ni2pKzGz7Ee93KhSKBkhPA_9_9">300</ix:nonFraction></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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_LGwCN6dECkSeVEpVwGfKVQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_mDzpHlrwlU2jeBuw_qYzEg_9_12">7,918</ix:nonFraction>)</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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_za2fu_gnIUqBccMYVpgBEQ_9_15">33,975</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#160;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_w_0tueHH2Ua0vB6M-lbTCg_10_15">14,510</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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;">&#8203;</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;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_OKsVm0pgs0e0BM_T-DndVg_11_15">19,465</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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.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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Tc_GwMVBfrSaUe-Af8Ow3ysQw_13_6">497</ix:nonFraction></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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Tc_xVmMKxwjcUqGVpfMlvfRaA_13_9">114</ix:nonFraction></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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Tc__l0MZ6tKSUmV9bJ78pbDBg_13_15">611</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_1eMZRVx9UEiAUIluIuG8fw_14_3">422</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_LqhULGPh40y9Ig5IMZ9WRg_14_6">1,553</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_NufZHMxZTU2sB6k49Exb7w_14_9">318</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_LGwCN6dECkSeVEpVwGfKVQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_RegVvn6__UmBiQsBgXFORQ_14_12">3</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Tc_5UwrL4qNNEiyESu3jfKW2A_14_15">2,296</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_KaO4iKqmZkyDtgrfmPN-ww_15_3">868</ix:nonFraction></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_XH1zJ_V8IU-VUIoREfu_Sg_15_6">1,415</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_iVlJC15seUiy8gYPkhQWRA_15_9">295</ix:nonFraction></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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_LGwCN6dECkSeVEpVwGfKVQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_6XLtjp-lpE64jiB2UHiBmA_15_12">4</ix:nonFraction></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;">&#8203;</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;">&#8203;</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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" id="Tc_oIvLoiXPL0GrP-kLmWmPAQ_15_15">2,582</ix:nonFraction></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;">&#8203;</span></p></ix:continuation></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Tc_B6vJ_NANqUObdL6BGFc8cg_1_2"></a><a id="Tc_hZCC7VM8SkqUJBLbypahZQ_1_5"></a><a id="Tc_rQ5SwMwxh0e9V_64-a984Q_2_2"></a><a id="Tc_g-Vn7cggk0GY6bqvRvFGBA_2_5"></a><a id="Tc_b31U3wkW1k2kxKEL0_taNA_3_0"></a><a id="Tc_cgNV0BDhe0qwFTxnEf9eUQ_3_2"></a><a id="Tc_XoH25zbhuEOQckJgdRa-dg_3_5"></a><a id="Tc_UsHUE5M7LE2ZBv41ehYwCg_4_0"></a><a id="Tc_qICs3ulHH0if2FuqB0kGpg_5_0"></a><a id="Tc_Wda9XuCJokCbjB8KERb3OA_6_0"></a><a id="Tc_sO9aqsDp00eepPGw-Y3SEg_7_0"></a><a id="Tc_5L02qRqPJEyLS21NosT_4w_7_2"></a><a id="Tc_Vn5m_BjAoUqDakIJfAtYUA_7_5"></a><a id="Tc_FK1e4JakE06wLjsxjmYz9w_1_2"></a><a id="Tc_VsN62V0LiUu24tN27jyHtA_1_5"></a><a id="Tc_7XKgGgWSD0-e3ZcEh5N_XA_2_2"></a><a id="Tc__9WPsrmUHky-OEPh6RAXBg_2_5"></a><a id="Tc_HgBZ4VZ4P0usfKfeQM9TGg_3_0"></a><a id="Tc_wsIRw7EUWU6MS9f10SpvZg_3_2"></a><a id="Tc_lTOpB5brsUug1_Vr3-XhvQ_3_5"></a><a id="Tc_oYG7USwArEmC87OtuUR4vA_4_0"></a><a id="Tc_qfgOdnuffUCZfMh3WA-0tQ_5_0"></a><a id="Tc_FT-zPaWQckOUjOb58kPnGg_6_0"></a><a id="Tc_RhKN7a5Wr0-TANseXbpE4A_7_0"></a><a id="Tc_ccio8BY5IEa9CTssrBlKwQ_7_2"></a><a id="Tc_mmc5Ie30LEG2QdMbKVeB7g_7_5"></a><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:AdditionalFinancialInformationDisclosureTextBlock" id="Tb_m57WOZMIGkaxKiNWi0qGiQ" escape="true"><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 &#8212; 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;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Balance Sheet</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 October 31, 2023 and January 31, 2023:</p><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock" id="Tb_ipQZpHVfmkCuZGrOwDJ83w" escape="true"><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;">&#8203;</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:67.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;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;"><b style="font-weight:bold;">October&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;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;"><b style="font-weight:bold;">January&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="agx:IncomeTaxRefundsAndPrepaidIncomeTaxes" scale="3" id="Tc__5srCtgL40W8a1b8IZY0Aw_3_3">16,550</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="agx:IncomeTaxRefundsAndPrepaidIncomeTaxes" scale="3" id="Tc_low_JhpTJEq0fGPaL4LDbQ_3_6">15,327</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryRawMaterials" scale="3" id="Tc_S8MlgF8kSUWwpGsJaTfjag_4_3">12,449</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryRawMaterials" scale="3" id="Tc_bGwuVTN9cUyAw9NIMyeDMg_4_6">11,903</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseCurrent" scale="3" id="Tc_HIEUYwJWtkmXrut9YDTg0A_5_3">6,106</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseCurrent" scale="3" id="Tc_MLn8aksM00yM3xqlaeI3Tw_5_6">4,541</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsMiscellaneousCurrent" scale="3" id="Tc_AHYMD8KkXUKKyeaRtKz2Og_6_3">6,138</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsMiscellaneousCurrent" scale="3" id="Tc_QkqrPpU_LUGi7ibf56F43w_6_6">6,563</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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 other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsCurrent" scale="3" id="Tc_nei3OcQ0jUq1kZyb0sApmA_7_3">41,243</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px 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:11.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsCurrent" scale="3" id="Tc_WnElG0TEnE-1247HsXtbpw_7_6">38,334</ix:nonFraction></span></p></td></tr></table></ix:nonNumeric><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;">&#8203;</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 October 31, 2023 and January 31, 2023:</p><ix:nonNumeric contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" id="Tb_YIHArvI92U62qffqnXH8Ag" escape="true"><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;">&#8203;</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:67.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;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;"><b style="font-weight:bold;">October&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;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;"><b style="font-weight:bold;">January&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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 project costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="agx:AccruedProjectCostsCurrent" scale="3" id="Tc_5J0L_kJYqk2eWhaWmAa58A_3_3">52,719</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="agx:AccruedProjectCostsCurrent" scale="3" id="Tc_dV_sQ1h9yEO_l2KxoFlNMg_3_6">17,448</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedEmployeeBenefitsCurrent" scale="3" id="Tc_xWLUcLyX8UaUK-nlGwv9Rw_4_3">17,921</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedEmployeeBenefitsCurrent" scale="3" id="Tc_oeopCOWgFkaPcaEThkB8zA_4_6">18,286</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="agx:AccruedLeaseLiabilitiesCurrent" scale="3" id="Tc__VEMvhRTS0ukBjg-MYAs8w_5_3">1,447</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="agx:AccruedLeaseLiabilitiesCurrent" scale="3" id="Tc_SKk_BerQSUulRT9-7EpXXQ_5_6">1,567</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;border-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;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="3" id="Tc_tSV_qiYW10GDqL1LuqyCYA_6_3">11,106</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="3" id="Tc_zkv-X1HLKEOQeuyx2HLedQ_6_6">12,566</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="Tc_XaXvJy5WOEub180gNoPwhw_7_3">83,193</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px 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:11.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;"><span style="white-space:pre-wrap;">  <ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="Tc_3mW9iOpcAkKmN8wtIc-Ycw_7_6">49,867</ix:nonFraction></span></p></td></tr></table></ix:nonNumeric><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;">&#8203;</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;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Other Loss</b></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;">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. 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. 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 $<ix:nonFraction unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA" contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_UnusualOrInfrequentItemAxis_agx_FraudulentlyInducedPaymentMember_4I0cyeJLeky2ImXpHaBYzA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:UnusualOrInfrequentItemNetGainLoss" scale="6" id="Narr_efsYHoJ_g0Gbk4_mhh_hCA">2.8</ix:nonFraction> million is reflected in other income, net, as a loss in the condensed consolidated statement of earnings for the nine months ended October 31, 2023.</p></ix:nonNumeric><a id="_Hlk144810167"></a><a id="_1855174b_0314_4d9d_bf0b_1b81480c569a"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;"><b style="font-weight:bold;">ITEM&#160;2. MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following discussion summarizes the financial position of Argan,&#160;Inc. and its subsidiaries as of October 31, 2023, and the results of their operations for the three and nine month periods ended October 31, 2023 and 2022, and should be read </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">23</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><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 conjunction with (i)&#160;the unaudited condensed consolidated financial statements and notes thereto included elsewhere in this Quarterly Report on Form&#160;10-Q and (ii)&#160;the consolidated financial statements and accompanying notes included in our Annual Report on Form&#160;10-K for Fiscal 2023 that was filed with the SEC on April&#160;17, 2023 (the &#8220;Annual Report&#8221;).</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;">Cautionary Statement Regarding Forward Looking Statements</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 Private Securities Litigation Reform Act of 1995 provides a &#8220;safe harbor&#8221; for certain forward-looking statements. We have made statements in this Item&#160;2 and elsewhere in this Quarterly Report on Form&#160;10-Q that may constitute &#8220;forward-looking statements.&#8221; The words &#8220;believe,&#8221; &#8220;expect,&#8221; &#8220;anticipate,&#8221; &#8220;plan,&#8221; &#8220;intend,&#8221; &#8220;estimate,&#8221; &#8220;foresee,&#8221; &#8220;should,&#8221; &#8220;would,&#8221; &#8220;could,&#8221; or other similar expressions are intended to identify forward-looking 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;">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. </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;">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&#160;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.</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;">Business Description</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 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 in the U.S., Ireland and the U.K. 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.</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;">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.</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;">Overview</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;">Operating Results</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;">For the reporting periods ended October 31, 2023 and as described below, we recorded a significant loss related to a construction project in the U.K. Despite the loss, we reported an increase in our pre-tax book income compared to last year. We did not record a tax benefit related to this net operating loss. As a result, we are reporting a reduction in net income between quarters. For the nine months ended October 31, 2023, the strength of the operating results reported by all of our business, plus the increase in the returns earned on our invested cash, were sufficient to cause our net income to increase, although slightly, between years. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">24</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Consolidated revenues for the three months ended October 31, 2023 were $163.8 million, which represented an increase of $45.9 million, or 38.9%, from consolidated revenues of $117.9 million reported for the three months ended October 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. </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;">Consolidated gross profit for the three-month period ended October 31, 2023 was $19.2 million, or approximately 11.7% of the corresponding consolidated revenues, which reflected positive contributions from all three reportable business<span style="font-size:12pt;"> </span>segments. However, the consolidated gross profit for the quarter was adversely impacted by the recorded loss of $10.7 million related to APC&#8217;s construction contract in Northern Ireland. For the three-month period ended October 31, 2022, the consolidated gross profit was $22.2 million, which represented approximately 18.8% of the corresponding amount 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;">Selling, general and administrative expenses for the three months ended October 31, 2023 and 2022 were $11.4 million, or 6.9% of corresponding consolidated revenues, and $12.7 million, or 10.7% of corresponding consolidated revenues, respectively.</p><a id="_Hlk80366622"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Other income, net, for the three months ended October 31, 2023 was $3.7 million, which substantially related to income earned during the period on cash, cash equivalents and investments. </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 three months ended October 31, 2023, income tax expense was $6.1 million which represented an effective income tax rate of 52.9%. For the three months ended October 31, 2022, income tax expense was $2.6 million, which represented an effective income tax rate of 24.7% for the period.</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;">Consolidated revenues for the nine months ended October 31, 2023 were $408.8 million, which represented an increase of $72.5 million, or 21.6%, from consolidated revenues of $336.3 million reported for the nine months ended October 31, 2022, with the power industry and industrial construction services reportable segments both contributing to the increase.</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;">Consolidated gross profit for the nine-month period ended October 31, 2023 was $57.2 million, or approximately 14.0% of the corresponding consolidated revenues, which reflected positive contributions from all four of our operating companies, including APC. However, the $11.5 million of loss that was recorded during the nine-month period ended October 31, 2023, related to APC&#8217;s contract in Northern Ireland, adversely impacted the consolidated gross profit for the period. For the nine-month period ended October 31, 2022, the consolidated gross profit was $66.3 million, which represented approximately 19.7% of the corresponding amount 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;">Selling, general and administrative expenses for the nine months ended October 31, 2023 and 2022 were $32.5 million, or 7.9% of corresponding consolidated revenues, and $34.2 million, or 10.2% of corresponding consolidated revenues, 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;">Other income, net, for the nine months ended October 31, 2023 was $7.2 million, which primarily reflected income earned during the period on invested funds, 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). O<span style="font-family:'inherit';">ther income, net, for the nine months ended October 31, 2022 was $1.9 million, which included primarily our share of earnings associated with our solar fund investments and income earned on funds maintained in money market accounts and interest income earned on CDs.</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;">For the nine months ended October 31, 2023, income tax expense was $11.6 million which represented an effective income tax rate of 36.3%. For the nine months ended October 31, 2022, income tax expense was $14.5 million. </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 three months ended October 31, 2023, our overall operating profit performance resulted in net income in the amount of $5.5 million, or $0.40 per diluted share. For the comparable period last year, we reported net income in the amount of $7.8 million, or $0.56 per dilutive share. For the nine months ended October 31, 2023, our net income increased to $20.3 million, or $1.50 per diluted share, from $19.5 million, or $1.36 per diluted share, for the nine months ended October 31, 2022.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">25</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><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;">Project Backlog</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 October 31, 2023, our consolidated project backlog amount of $0.7 billion consisted substantially of the projects of the power industry services reporting segment. The comparable consolidated backlog amount as of January 31, 2023 was $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.</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;">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.</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;">We are committed to the construction of state-of-the-art, natural gas-fired power plants as important elements of our country&#8217;s electricity-generation mix now and in the future. This represents our core business. 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 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.</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 2023, GPS executed Limited Notices to Proceed (&#8220;LNTPs&#8221;) 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.</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 October 2022, GPS added to project backlog 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 from 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.</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 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 October 31, 2023 relates to this project as GPS continues to pursue the closeout of remaining commercial matters with the customer, certain subcontractors and equipment suppliers. During the quarter ended October 31, 2023, GPS primarily completed the final stages of the commissioning process, including punch-list items and demobilization efforts. Final completion of this project is currently expected to occur during the fourth quarter of Fiscal 2024.</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 November 2023, we achieved substantial completion of the Maple Hill Solar facility, which is among the largest solar-powered energy plant in Pennsylvania. The unique Maple Hill Solar project, which is located in Cambria County, includes over 235,000 photovoltaic modules for the generation of up to approximately 100 MW of electrical power. Final completion of the project and site demobilization is expected prior to the end of 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;">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, which broadened the project backlog of this business to approximately $95 million as of October 31, 2023, including the remaining value of an engineering and construction services contract with EPNI Energy Limited (&#8220;EP&#8221;). APC contracted to construct a 2 x 330 MW natural gas-fired power plant in Carrickfergus that is near Belfast, Northern Ireland, in an existing structure that was initially designed to enclose coal-fired units. This project is hereinafter referred to as the &#8220;Kilroot&#8221; project. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">26</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><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 May 2022, APC entered into engineering and construction services contracts with Ireland&#8217;s Electricity Supply Board (&#8220;ESB&#8221;) 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 in early 2024.</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;">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 &#8220;Shannonbridge Power Project&#8221;). The Shannonbridge Power Project, an initiative of EirGrid and the Electricity Supply Board of Ireland, aims to enhance the region&#8217;s power infrastructure and to ensure a reliable electricity supply during critical situations and emergencies. GPS is teaming with APC in performance of 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. Project completion is expected in the first half of 2024.</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 project backlog of TRC has increased by nearly 200% since the end of Fiscal 2022 to approximately $132 million as of October 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.</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 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.</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;">The Kilroot Project Loss</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;">There have been a number of challenges related to the Kilroot project that have adversely impacted our ability to execute as expected, including supply chain delays, material changes to the project, the COVID-19 omicron outbreak, the war in Ukraine and extreme weather. In addition, unresolved variances and claims have disrupted the execution of the project, and unresolved project-related matters continue to meaningfully impact the contract, our costs and the project schedule negatively.&#160;At October&#160;31, 2023, APC&#8217;s estimates of the unfavorable financial impacts due to difficulties on the Kilroot project escalated substantially. APC recently conducted an updated and comprehensive review of the costs of the efforts to complete the remaining contract work. We believe that the estimated costs of APC at the completion of the Kilroot project will exceed projected revenues by $7.9 million. The amount of this loss, plus the unfavorable adjustment of estimated gross profit of approximately $2.8 million recognized in previous periods in connection with the project, was reflected in our operating results for the three-month period ended October 31, 2023. APC is continuing all efforts to resolve open variations, claims and an appropriate extension of time to mitigate these losses and improve the final results of the project. APC shall vigorously pursue all of its rights under the contract including through legal means if necessary. APC estimates that it is approximately 95% complete with design and construction. It is currently commissioning the facility and it expects to be ready for the first fire of both gas turbines by early 2024. The determination of the amount of the loss identified above includes management&#8217;s estimates of the level of effort, and the associated costs, required for APC to complete the project. There can be no assurance that future unanticipated problems on this project will not result in APC incurring costs, that may be meaningful, in excess of those currently estimated for the completion of the contracted work or suffering unfavorable contract variations.</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;">Market Outlook</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">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 </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">27</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">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.</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;">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 COVID-19 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 2022. However, spot prices have declined throughout 2023 but are forecasted to rise again in 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.</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 reference case of its Annual Energy Outlook 2023, the Energy Information Administration (&#8220;EIA&#8221;) 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 &#8220;IRA&#8221;), 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 is forecasted to decline sharply to about 54% of current levels by 2030, with a gradual decline thereafter.</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 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. </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;">However, the headwinds confronting a significant resurgence in the pace of planning new developments of gas-fired power plants are strong. The environmentalist opposition against coal-fired power generation expanded meaningfully to target all fossil fuel energy projects, including both power plants and pipelines, and 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.</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;">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. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">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 </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">28</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">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 &#8220;buy American&#8221; 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.</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 May 2023, the Biden administration proposed new rules for the Environmental Protection Agency (the &#8220;EPA&#8221;) 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 proposed 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. Opponents to the rules posit that the technology needed to meet such emissions targets, particularly for carbon capture and storage as well as hydrogen blending, is not yet commercially available, and as a result, makes compliance uncertain. Additionally, environmental groups and landowners have challenged plans to erect pipelines intended to transfer carbon emissions to storage locations. A public comment period for the proposed rules ended in early August 2023; final rules are expected in 2024. </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 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. &#160;</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;">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 it appears that from 2005 to 2022, the energy-related emissions declined by approximately 20%. The EIA 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 2030 through 2050. 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. </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 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. </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 surge in renewable energy is propelled by significant factors, including a nearly 90% reduction in solar power costs and a two-thirds decrease in onshore wind costs between 2009 and 2023. These cost reductions, driven by technological advancements, have led to widespread global adoption, with over 80% of new power capacity coming from renewables last year. However, challenges persist, notably in offshore wind sectors facing cost overruns and supply chain issues, resulting in major offshore wind projects being delayed or cancelled. The ongoing transition is marked by emerging technologies like hydrogen, and the declining costs of electric vehicles, further emphasizing the dynamic evolution of the renewable energy landscape.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">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 (&#8220;PJM&#8221;), which operates a capacity market to ensure long-term grid reliability by securing the appropriate amount of power supply resources needed to meet </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">29</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">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. After multiple delays, the auctions for the 2023/2024 and 2024/2025 delivery years, were conducted. However, prices were significantly lower than each previous auction. In June 2023, the Federal Energy Regulatory Commission (&#8220;FERC&#8221;) issued an order accepting delays in future capacity auctions so that market design rule changes proposed by stakeholders might be implemented for all future auctions. PJM filed its proposal of capacity market enhancements with the FERC in October 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;">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.</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;">Providing a basis for a belief that new gas plants will have a role in an electrified future dominated by renewables is the need for grid reliability and sustainability, PJM published a study in February 2023, 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.</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 study 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&#8217;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.</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 summary, throughout the U.S., the risk of electricity shortages grows as the retirement of traditional power plants outpaces their replacement by renewable energy and battery storage. The strain on power grids mounts 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. 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. </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 U.S., local electricity grids are connected to form larger networks, known as Regional Transmission Operators (&#8220;RTOs&#8221;) and Independent System Operators (&#8220;ISOs&#8221;), to improve reliability and economic efficiency. The U.S. is divided into three main interconnections of which these networks are members: 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.</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 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">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 U.S. Commerce Department imposed tariffs on solar </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">30</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">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. </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;">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.</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;">U.S. offshore wind projects progress inconsistently, facing challenges in the areas of environmental and fishery impacts, grid connection complexities, transmission planning, federal permitting processes and rising interest rates. Further, U.S. projects are confronted by shipping regulations that may limit the ability of developers to replicate successful European erection models. Commitments to sell power at a fixed price in an environment of rising inflation and interest rates have challenged the finances of many offshore wind projects, and as a result several prominent projects have been delayed or cancelled. 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.</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;">Electricity generation from commercial nuclear power plants in the U.S. began in 1958. Over the last several decades, the number of operating nuclear reactors has declined. 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 approximately 40 years old with most plants authorized to operate for another 20 years. Two U.S.-based nuclear reactors, Vogtle Units 3 and 4, began construction in 2009. After lengthy construction delays and billions of dollars of cost overruns, Vogtle Unit 3 commenced commercial operation in August 2023, which marks the first nuclear reactor commissioned in the U.S. since the Tennessee Valley Authority&#8217;s Watts Bar 2 in 2016, which was twenty years after the previous one began operation.</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;">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.</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;">Therefore, despite the headwinds, 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 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.</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;">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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We 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. Operational testing of gas turbines fueled with renewable hydrogen have been successful. We believe this pairing is a winning combination that provides inexpensive and efficient power, enhances grid reliability and addresses clean-air concerns. &#160;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. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">31</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">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.</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 has been stated that the scramble for electricity, regardless of source, caused by the Russian invasion of Ukraine 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 &#8220;all-of-the-above&#8221; 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.</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 foregoing discussion in this &#8220;Market Outlook&#8221; 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.</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;">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. </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 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&#8217;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 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. </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 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. </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;">Further, the Irish government recognizes 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 acknowledge 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.</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;">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 last three years, APC has increased its activities and currently has five projects under execution. GPS has been providing top management guidance and project management expertise to APC during this period. APC has also provided experienced resources to GPS on several of its EPC services contracts in the U.S. These recent experiences have demonstrated that the two companies can combine and share resources effectively to leverage capacity and opportunities. 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.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">32</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">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.</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 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. &#160;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.</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;">TRC was founded in 1977, initially focused on the fabrication of piping systems and pressure vessels. Prior to our acquisition of TRC in 2015, it expanded its business to include industrial field services with a concentration on turnarounds, outage support, renovations, repairs and maintenance projects. Since the acquisition, TRC has narrowed its field-services focus to emphasize industrial construction projects. During Fiscal 2023, TRC consolidated its metal fabrication plants and support structures into one industrial fabrication and warehouse facility near Greenville, North Carolina, which is centrally located within its primary geographic market. The consolidation reduced fixed costs and notably streamlined the business, which has permitted TRC to primarily focus on its field service opportunities.</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;">Industrial field services typically represent the majority of TRC&#8217;s annual revenues with the remaining revenues contributed by projects consisting solely of metal fabrication. The project backlog of TRC grew by over 175% from January 31, 2022 to approximately $123.5 million as of January 31, 2023, reflecting TRC&#8217;s business development emphasis on the award of larger industrial construction projects.</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;">Recent and current major customers of TRC include Nutrien Ltd., the global fertilizer company; Livent Corporation, a global lithium technology company; Jacobs Solutions Inc., an international engineering and construction firm that is building a significant biotechnology manufacturing facility in the research triangle area of North Carolina; OceanaGold Corporation, a gold-mining company located in South Carolina; Air Liquide S.A., a world leading supplier of industrial gases; North America&#8217;s largest forest products companies such as Weyerhaeuser Company and Domtar Corporation; and various other industrial companies. These relationships demonstrate that TRC is a trusted industrial services provider to blue chip customers from around North America, and from countries like France, Germany, Denmark, Japan and Australia, that are expanding or locating new production facilities in TRC&#8217;s geographic region.<span style="color:#ffffff;font-family:'Segoe UI';background:#ffffff;"> </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;">As stated above, 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 with ideal locations and with serious economic development programs and incentives. 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, energy storage and clean water have resulted in firms that are focused on these trends recently choosing TRC to participate in major construction projects in the region. Other important factors and trends include low corporate state tax rates, favorable labor migration patterns, the surface transportation infrastructure and the ready access to modern seaports.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Economic data supports our belief that TRC is ideally located in a leading manufacturing growth area of the U.S., which should continue to provide it with project opportunities going forward that will expand its business and industrial construction capabilities. The Dodge Construction Starts report for 2024 forecasts that total construction in the U.S. will increase by 7% in 2024, with a 16% increase in the manufacturing category. The FMI Construction Put-in-Place Forecast for 2024 predicts that construction activity in the manufacturing sector will increase by over 15% in 2024. This data suggests that manufacturing construction will be a robust market as the economy moves into 2024. Despite headwinds such as ongoing inflation, material price volatility and rising labor costs, skilled labor shortages, high interest rates and </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">33</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">tighter lending standards, it is likely that 2024 will see a boost to construction associated with manufacturing, as well as the transportation and clean energy infrastructures, as funds from three key pieces of national legislation passed in 2021 and 2022 are expected to flow into the industry. These bills include the Infrastructure and Jobs Act, the Inflation Reduction Act and the Creating Helpful Incentives to Produce Semiconductors Act, and appear to be sustaining high construction industry confidence for 2024 and the future beyond. </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;">Comparison of the Results of Operations for the Three&#160;Months Ended October 31, 2023 and 2022</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;">We reported net income of $5.5 million, or $0.40 per diluted share, for the three&#160;months ended October 31, 2023. For the comparable period of the prior year, we reported net income of $7.8 million, or $0.56 per diluted share. The following schedule compares our operating results for the three&#160;months ended October 31, 2023 and 2022 (dollars in thousands):</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:top;width:52.01%;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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:52.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="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:44.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:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended October&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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="visibility:hidden;">&#8203;</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;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:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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: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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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:center;margin:0pt;"><b style="font-weight:bold;">$ Change</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-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:center;margin:0pt;"><b style="font-weight:bold;">% Change</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;"><b style="font-weight:bold;">REVENUES</b></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;&#160;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#160;&#160;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#160;&#160;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr style="height:13.05pt;"><td style="vertical-align:top;width:52.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;">Power industry services</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 121,300</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.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;"> 90,682</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.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;"> 30,618</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="white-space:pre-wrap;"> 33.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:52.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;">Industrial construction services</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;"> 38,434</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 22,137</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 16,297</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 73.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;">Telecommunications infrastructure services</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#160;</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;"> 4,021</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 5,056</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="white-space:pre-wrap;"> (1,035)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-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="white-space:pre-wrap;"> (20.5)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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 12pt;">Revenues</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="white-space:pre-wrap;"> 163,755</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;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;"><span style="white-space:pre-wrap;"> 117,875</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;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;"><span style="white-space:pre-wrap;"> 45,880</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="white-space:pre-wrap;"> 38.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">COST OF REVENUES</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;">Power industry services</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;"> 107,781</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 72,725</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 35,056</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 48.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;">Industrial construction services</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 33,899</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 18,737</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 15,162</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="white-space:pre-wrap;"> 80.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;">Telecommunications infrastructure services</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="white-space:pre-wrap;"> 2,840</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;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;"><span style="white-space:pre-wrap;"> 4,205</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;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;"><span style="white-space:pre-wrap;"> (1,365)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="white-space:pre-wrap;"> (32.5)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;">Cost of 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#160;</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;"> 144,520</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 95,667</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 48,853</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-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;"> 51.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;"><b style="font-weight:bold;">GROSS PROFIT</b></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;"> 19,235</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 22,208</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="white-space:pre-wrap;"> (2,973)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin: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="white-space:pre-wrap;"> (13.4)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.01%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#160;</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,375</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,667</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="white-space:pre-wrap;"> (1,292)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-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="white-space:pre-wrap;"> (10.2)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;"><b style="font-weight:bold;">INCOME FROM OPERATIONS</b></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;"> 7,860</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 9,541</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="white-space:pre-wrap;"> (1,681)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin: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="white-space:pre-wrap;"> (17.6)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.01%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#160;</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,733</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 768</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 2,965</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-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;"> 386.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;"><b style="font-weight:bold;">INCOME BEFORE INCOME TAXES</b></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;"> 11,593</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 10,309</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,284</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.01%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#160;</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,129</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 2,551</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 3,578</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-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;"> 140.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;"><b style="font-weight:bold;">NET INCOME</b></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px 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;"> 5,464</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 7,758</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px 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.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;"><span style="white-space:pre-wrap;"> (2,294)</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;border-bottom:3px double #000000;margin: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="white-space:pre-wrap;"> (29.6)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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></tr></table><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;">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;"><span style="font-style:italic;font-weight:bold;">Power Industry Services</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 revenues of the power industry services segment, representing the businesses of GPS and APC, increased by 33.8%, or $30.6 million, to $121.3 million for the three&#160;months ended October 31, 2023 compared with revenues of $90.7 million for the three&#160;months ended October 31, 2022 as the quarterly construction activities increased for the Shannonbridge Power Project, the Trumbull Energy Center, and the ESB FlexGen peaker plants. 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.1% of consolidated revenues for the quarter ended October 31, 2023 and 76.9% of consolidated revenues for the corresponding prior&#160;year quarter.</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 primary driver for the revenues of this segment for the three months ended October 31, 2022 were the revenues associated with the construction of the Guernsey Power Station, the Maple Hill Solar energy facility, the ESB FlexGen peaker plants and the Kilroot power facility.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">34</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><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-style:italic;font-weight:bold;">Industrial Construction Services</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 revenues of our industrial construction services segment, representing the business of TRC, increased by $16.3 million, or 73.6%, to $38.4 million for the three months ended October 31, 2023 compared to revenues of $22.1 million for the three&#160;months ended October 31, 2022 as the amounts of field services and supporting vessel fabrication work increased meaningfully between periods. For the three months ended October 31, 2023 and 2022, the revenues of this segment represented 23.5% and 18.8% of consolidated revenues for the corresponding periods. </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-style:italic;font-weight:bold;">Telecommunications Infrastructure Services</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 revenue results of this business segment, which represent the business of SMC, were $4.0 million for the three-month period ended October 31, 2023, a decrease of $1.0 million, or 20.5%, from the amount of revenues earned during the three months ended October 31, 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;"><b style="font-weight:bold;">Cost 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;">With the increase in consolidated revenues for the three&#160;months ended October 31, 2023 compared with last&#160;year&#8217;s third quarter ended October 31, 2022, the consolidated cost of revenues also increased between the quarters. These costs were $144.5 million and $95.7 million for the three-month periods ended October 31, 2023 and 2022, respectively, representing an increase of approximately 51.1%.</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 three-month period ended October 31, 2023, we reported a consolidated gross profit of approximately $19.2 million which represented a gross profit&#160;percentage of approximately 11.7% of corresponding consolidated revenues, and a decrease from the gross profit reported for the three-month period ended October 31, 2022 in the amount of $22.2 million. The reduction was primarily due to the unfavorable gross profit adjustment on the Kilroot project in the amount of $10.7 million that was recorded in the current quarter. The effect of the contract loss was meaningfully offset for the current quarter by the profits earned on the performance of other projects by each of our four operating companies, including APC. The gross profit percentages of corresponding revenues for the power industry services, industrial construction services and the telecommunications infrastructure services segments were 11.1%, 11.8% and 29.4%, respectively, for the quarter ended October 31, 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;">Our consolidated gross profit reported for the three-month period ended October 31, 2022 of $22.2 million represented a gross profit percentage of approximately 18.8% 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 19.8%, 15.4% and 16.8%, respectively, for the quarter ended October 31, 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;"><b style="font-weight:bold;">Selling, General and Administrative Expenses</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;">These costs were $11.4 million and $12.7 million for the three&#160;months ended October 31, 2023 and 2022, respectively, and represented 6.9% and 10.7% of corresponding consolidated revenues, 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;">Other Income, Net</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;">Other income, net, for the three months ended October 31, 2023 was $3.7 million, which reflected income earned during the period on funds invested in a money market account, CDs, U.S. Treasury notes and a U.S. corporate debt security in the total amount of approximately $4.0 million, as investment yields and average balances of invested funds are meaningfully higher this year.</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';">We reported other income, net, in the amount of $0.8 million for the three months ended October 31, 2022, which included primarily income earned on funds maintained in a money market account and interest income earned on CDs.</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;">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;">We incurred income tax expense for the three&#160;months ended October 31, 2023 in the amount of approximately $6.1 million, which represents an effective income tax rate of 52.9%. This effective tax rate differs from the statutory federal tax rate of 21% due primarily to the typically unfavorable estimated effects of state income taxes and permanent differences, including certain nondeductible executive compensation and an unrecognized tax loss benefit for the current fiscal quarter. We did not record an income tax benefit related to the net operating loss incurred by our subsidiary in the U.K. that is building the </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">35</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Kilroot power plant. This accounting resulted in our effective income tax rate increasing from 27.1% to 52.9% for the quarter. For the three months ended October 31, 2022, we reported income tax expense in the amount of approximately $2.6 million, which represented an effective tax rate of 24.7% for the period. </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;">Comparison of the Results of Operations for the Nine&#160;Months Ended October 31, 2023 and 2022</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;">We reported net income of $20.3 million, or $1.50 per diluted share, for the nine&#160;months ended October 31, 2023. For the comparable period of the prior year, we reported net income of $19.5 million, or $1.36 per diluted share. The following schedule compares our operating results for the nine&#160;months ended October 31, 2023 and 2022 (dollars in thousands):</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:top;width:52.01%;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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:52.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="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:44.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:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended October&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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="visibility:hidden;">&#8203;</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;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:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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: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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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:center;margin:0pt;"><b style="font-weight:bold;">$ Change</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-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:center;margin:0pt;"><b style="font-weight:bold;">% Change</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;"><b style="font-weight:bold;">REVENUES</b></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;&#160;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#160;&#160;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#160;&#160;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;">Power industry services</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 296,821</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.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;"> 255,958</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.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;"> 40,863</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="white-space:pre-wrap;"> 16.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:top;width:52.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;">Industrial construction services</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;"> 101,497</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 67,660</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 33,837</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 50.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;">Telecommunications infrastructure services</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#160;</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;"> 10,461</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,644</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="white-space:pre-wrap;"> (2,183)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-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="white-space:pre-wrap;"> (17.3)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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 12pt;">Revenues</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="white-space:pre-wrap;"> 408,779</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;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;"><span style="white-space:pre-wrap;"> 336,262</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;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;"><span style="white-space:pre-wrap;"> 72,517</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="white-space:pre-wrap;"> 21.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">COST OF REVENUES</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;">Power industry services</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;"> 255,210</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 202,985</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 52,225</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25.7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;">Industrial construction services</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 88,537</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 56,968</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 31,569</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="white-space:pre-wrap;"> 55.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;">Telecommunications infrastructure services</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="white-space:pre-wrap;"> 7,831</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;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;"><span style="white-space:pre-wrap;"> 9,976</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;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;"><span style="white-space:pre-wrap;"> (2,145)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"><span style="white-space:pre-wrap;"> (21.5)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;">Cost of 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#160;</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;"> 351,578</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 269,929</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 81,649</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-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;"> 30.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;"><b style="font-weight:bold;">GROSS PROFIT</b></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;"> 57,201</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 66,333</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="white-space:pre-wrap;"> (9,132)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin: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="white-space:pre-wrap;"> (13.8)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.01%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#160;</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;"> 32,467</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 34,226</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="white-space:pre-wrap;"> (1,759)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-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="white-space:pre-wrap;"> (5.1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;"><b style="font-weight:bold;">INCOME FROM OPERATIONS</b></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;"> 24,734</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 32,107</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="white-space:pre-wrap;"> (7,373)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin: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="white-space:pre-wrap;"> (23.0)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.01%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#160;</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;"> 7,222</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 1,868</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 5,354</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-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;"> 286.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;"><b style="font-weight:bold;">INCOME BEFORE INCOME TAXES</b></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;"> 31,956</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 33,975</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="white-space:pre-wrap;"> (2,019)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;margin: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="white-space:pre-wrap;"> (5.9)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.01%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#160;</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,616</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 14,510</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="white-space:pre-wrap;"> (2,894)</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;border-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="white-space:pre-wrap;"> (19.9)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:52.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;"><b style="font-weight:bold;">NET INCOME</b></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px 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;"> 20,340</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 19,465</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px 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.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;"> 875</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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></tr></table><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;">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;"><span style="font-style:italic;font-weight:bold;">Power Industry Services</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 revenues of the power industry services segment increased by $40.9 million, or 16.0%, to $296.8 million for the nine&#160;months ended October 31, 2023 compared with revenues of $256.0 million for the nine&#160;months ended October 31, 2022 as the current year construction activities increased for the Shannonbridge Power Project, the Trumbull Energy Center and the ESB FlexGen peaker plants. 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&#8217;s Equinix data center project, as those projects are generally near or at completion. The revenues of this business segment represented approximately 72.6% of consolidated revenues for the nine-month period ended October 31, 2023, and 76.1% of consolidated revenues for the nine-month period ended October 31, 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;">The primary drivers for the revenues of this segment for the nine months ended October 31, 2022 were the revenues associated with the construction of the Guernsey Power Station, the Maple Hill solar energy facility, the Kilroot Power Station and the ESB FlexGen peaker plants.</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-style:italic;font-weight:bold;">Industrial Construction Services</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 revenues of our industrial construction services segment, increased by $33.8 million, or 50.0%, to $101.5 million for the nine months ended October 31, 2023 compared to revenues of $67.7 million for the nine&#160;months ended October 31, 2022 as the amounts of field services and, particularly, vessel fabrication work in support of field services increased between periods. For the nine months ended October 31, 2023 and 2022, the revenues of this segment represented 24.8% and 20.1% of consolidated revenues for the corresponding periods. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">36</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><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-style:italic;font-weight:bold;">Telecommunications Infrastructure Services</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 revenues of this business segment were $10.5 million for the nine-month period ended October 31, 2023, a decrease of $2.2 million, or 17.3%, from the amount of revenues earned during the nine months ended October 31, 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;"><b style="font-weight:bold;">Cost 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;">With the increase in consolidated revenues for the nine&#160;months October 31, 2023 compared with last&#160;year&#8217;s nine-month period ended October 31, 2022, the consolidated cost of revenues also increased between the periods. These costs were $351.6 million and $269.9 million for the nine-month periods ended October 31, 2023 and 2022, respectively, representing an increase of approximately 30.2%.</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 nine-month period ended October 31, 2023, we reported a consolidated gross profit of approximately $57.2 million, which represented a gross profit&#160;percentage of approximately 14.0% of corresponding consolidated revenues, a decrease from the gross profit reported for the nine-month period ended October 31, 2022 in the amount of $66.3 million. The consolidated gross profit for the nine months ended October 31, 2023 was adversely affected by the loss recorded for the Kilroot project with substantial offset from the profits earned on other major projects by each of our four businesses. The gross profit percentages of corresponding revenues for the power industry services, industrial construction services and the telecommunications infrastructure services segments were 14.0%, 12.8% and 25.1%, respectively, for the nine months ended October 31, 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;">Our consolidated gross profit reported for the nine-month period ended October 31, 2022 represented a gross profit percentage of approximately 19.7% 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 20.7%, 15.8% and 21.1%, respectively, for the nine months ended October 31, 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;"><b style="font-weight:bold;">Selling, General and Administrative Expenses</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;">These costs were $32.5 million and $34.2 million for the nine&#160;months ended October 31, 2023 and 2022, respectively, and represented 7.9% and 10.2% of corresponding consolidated revenues, 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;">Other Income, Net</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;">Other income, net, for the nine months ended October 31, 2023 was $7.2 million, which reflected approximately $9.7 million of income earned during the period on invested funds, as investment yields and average balances of funds invested 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 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). </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';">We reported other income, net, in the amount of $1.9 million for the nine months ended October 31, 2022, which included primarily earnings associated with our solar fund investments and income earned on funds maintained in a money market account and interest income earned on CDs.</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;">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;">We incurred income tax expense for the nine&#160;months ended October 31, 2023 in the amount of approximately $11.6 million, which represents an effective income tax rate of 36.3%. This estimated tax rate differs from the statutory federal tax rate of 21% due primarily to the typically unfavorable estimated effects of state income taxes and permanent differences, including certain nondeductible executive compensation and an unrecognized tax loss benefit for the current year. As described above, income tax expense for the current year excludes any income tax benefit associated with the year-to-date net loss of our subsidiary in the U.K. This accounting caused the effective income tax rate to increase from 25.8% to 36.3% for the period. For the nine months ended October 31, 2022, we reported income tax expense in the amount of approximately $14.5 million, including an unfavorable adjustment in the approximate amount of $6.2 million related to the settlement of research and development credit claims with the IRS. Excluding the effect of this adjustment, our effective income tax rate for the nine-months ended October 31, 2022 was 24.5%.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">37</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><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;">Liquidity and Capital Resources as of October 31, 2023</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 October 31 and January&#160;31, 2023, our balances of cash and cash equivalents were $185.6 million and $173.9 million, respectively, which represented an increase of $11.7 million. </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 net amount of cash provided by operating activities for the nine months ended October 31, 2023 was $92.3 million. Our net income for the nine months ended October 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 $25.8 million. The increase of other assets of $3.0 million, represented a use of cash primarily due to the increase of prepaid assets during the period. The increase in the combined level of accounts payable and accrued expenses in the amount of $10.0 million, represented a source of cash during the period. The increase in contract liabilities of $59.9 million represented a source of cash, primarily due to the net effect of the early phase of construction activities on a GPS project and the post peak phases of certain APC projects. </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 the nine months ended October 31, 2023, our primary source of cash from investing activities was the net maturities of CDs issued by the Bank, in the amount of $44.8 million. We used $104.5 million to invest in available-for-sale securities, consisting of U.S. Treasury notes and a U.S. corporate debt security. We also used $2.1 million to make capital expenditures. </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 nine months ended October 31, 2023, we used $18.0 million cash in financing activities, including $8.5 million used to repurchase shares of common stock pursuant to our share repurchase program and $10.7 million used for the payment of regular cash dividends. We received proceeds from the exercise of stock options in the amount of $1.4 million, which represented a source of cash. Payments of $0.3 million for withholding taxes reimbursed by shares represented a use of cash during the period. As of October 31, 2023, there were no restrictions with respect to intercompany payments between the holding company, GPS, TRC, APC and SMC.</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 the nine months ended October 31, 2022, our balance of cash and cash equivalents decreased by a net amount of $214.4 million and our working capital decreased by $53.8 million to $230.4 million as of October 31, 2022 from $284.3 million as of January 31, 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;">The net amount of cash used in operating activities for the nine months ended October 31, 2022 was $73 million. Our net income for the nine months ended October 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 $25.2 million. However, reductions in the balance of contract liabilities and the combined level of accounts payable and accrued expenses in the amounts of $78.9 million and $8.0 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 and accounts receivable in the amounts of $6.6 million and $10.9 million, respectively, represented uses of cash during the period. The decrease in the amount of other assets in the amount of $6.2 million, represented a source of cash during the period.</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 the nine months ended October 31, 2022, we also used cash to increase the level of our short-term investments, which consist entirely of CDs issued by the Bank, by $59.8 million and to make capital expenditures in the amount of $2.6 million. We also used $73.8 million cash in financing activities during the nine months ended October 31, 2022, including $63.3 million used to repurchase shares of common stock pursuant to our share repurchase program, and $10.6 million used for the payment of regular cash dividends. </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 October 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">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 nine months ended October 31, 2023, our net liquidity increased by $4.0 million to $240.2 million from $236.2 million as of January&#160;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 </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">38</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">available-for-sale investments, our levels of working capital are not subjected to the volatility that affects our levels of cash and cash equivalents.</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, 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 primarily to 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.</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;">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 October 31, 2023, we had no outstanding borrowings. However, the Bank has issued letters of credit in the total outstanding amount of $13.2 million as of October 31, 2023, in support of the activities of APC under existing customer contracts, including $8.9 million related to the Kilroot project of APC discussed above. </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;">We have pledged the majority of our assets to secure the financing arrangements. The Bank&#8217;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 October 31, 2023, we were compliant with the covenants of the Credit Agreement, as amended.</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, 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.</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;">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. </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 October 31, 2023 and January 31, 2023, the estimated amounts of the Company&#8217;s unsatisfied bonded performance obligations, covering all of its subsidiaries, were approximately $0.5 billion and $0.6 billion, respectively. As of October 31, 2023 and January 31, 2023, the outstanding amounts of bonds covering other risks, including warranty obligations related to completed activities, 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;">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.</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;">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&#8217;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 October 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;">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. To date, we have received substantially all of the income tax benefits associated with the investments. It is likely that we will evaluate opportunities to make other solar energy investments of this type in the future.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">39</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">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.</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;">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.</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;">Earnings before Interest, Taxes, Depreciation and Amortization (&#8220;EBITDA&#8221;)</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 table following immediately below presents the determinations of EBITDA for the three and nine months ended October 31, 2023 and 2022, respectively (amounts 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:top;width:73.71%;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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:73.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.71%;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;"><b style="font-weight:bold;">Three Months Ended </b></p></td></tr><tr><td style="vertical-align:top;width:73.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.71%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:top;width:73.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.55%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:top;width:73.71%;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, as reported</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,464</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;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.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,758</span></p></td></tr><tr><td style="vertical-align:top;width:73.71%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,129</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,551</span></p></td></tr><tr><td style="vertical-align:top;width:73.71%;background:#cceeff;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 489</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 740</span></p></td></tr><tr><td style="vertical-align:top;width:73.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Amortization of intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-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;"> 98</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;border-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;"> 212</span></p></td></tr><tr><td style="vertical-align:top;width:73.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">EBITDA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,180</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px 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.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,261</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;">&#8203;</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:top;width:73.79%;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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:73.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.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;"><b style="font-weight:bold;">Nine Months Ended </b></p></td></tr><tr><td style="vertical-align:top;width:73.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.63%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:top;width:73.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.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;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:top;width:73.79%;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, as reported</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;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.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,340</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;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.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,465</span></p></td></tr><tr><td style="vertical-align:top;width:73.79%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,616</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,510</span></p></td></tr><tr><td style="vertical-align:top;width:73.79%;background:#cceeff;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,524</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,296</span></p></td></tr><tr><td style="vertical-align:top;width:73.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Amortization of intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.15%;border-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;"> 294</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-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;"> 611</span></p></td></tr><tr><td style="vertical-align:top;width:73.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">EBITDA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px 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.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,774</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px 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.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 36,882</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:8pt 0pt 8pt 0pt;">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.</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;">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.</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;">Critical 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;">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. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">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 </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">40</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">from these estimates and assumptions. We do periodically review these critical accounting policies and estimates with the audit committee of our board of directors.</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;">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&#160;7 of Part&#160;II of our Annual Report. During the nine months ended October 31, 2023, there have been no material changes in the way we apply the critical accounting policies described therein.</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;">See Note 1 to the accompanying condensed consolidated financial statements for discussion on recently issued accounting pronouncements.</p><a id="_c666997b_6446_47b3_83ee_fda45dfb25d1"></a><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;">ITEM&#160;3. QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</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, our results of operations may be subject to risks related to fluctuations in interest rates. As of October 31, 2023, we had no outstanding borrowings under our financing arrangements with the Bank (see Note&#160;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&#160;31, 2024 with interest at SOFR plus 1.6%. During the three&#160;months ended October 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.</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;">We maintain a substantial amount of our temporarily investable cash in certificates of deposit, a money market fund, U.S. Treasury notes and a U.S. corporate debt security (see Note&#160;3 of the accompanying condensed consolidated financial statements). As of October 31, 2023, the weighted average number of days remaining until maturity for the certificates of deposit, U.S Treasury notes and U.S. corporate debt security was 485 days. The weighted average annual interest rate of our certificates of deposit of $105.0 million, the money market fund balance of $127.0 million, the U.S. Treasury notes face value of $95.0 million and the U.S. corporate debt security face value of $9.2 million was 5.1%. To illustrate the potential impact of changes in the overall interest rate associated with our investable cash balance at October 31, 2023 on our annual results of operations, we present the following hypothetical analysis. It assumes that our condensed consolidated balance sheet as of October 31, 2023 remains constant, and no further actions are taken to alter our existing interest rate sensitivity, including reinvestments (dollars 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:90.17%;"><tr style="height:1pt;"><td style="vertical-align:top;width:24.51%;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;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:2.28%;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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:23.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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:24.51%;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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.55%;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;"><b style="font-weight:bold;">Increase (Decrease) in </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.55%;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;"><b style="font-weight:bold;">Increase (Decrease) in </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:25.53%;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;"><b style="font-weight:bold;">Net Increase (Decrease) in</b></p></td></tr><tr><td style="vertical-align:top;width:24.51%;border-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;"><b style="font-weight:bold;">Basis Point Change</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.55%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Interest Income</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.55%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Interest Expense</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:25.53%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Income (Pre-Tax)</b></p></td></tr><tr><td style="vertical-align:top;width:24.51%;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;">Up 300 basis points</p></td><td style="vertical-align:top;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;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:19.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,158</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;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:19.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;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:23.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,158</span></p></td></tr><tr><td style="vertical-align:top;width:24.51%;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;">Up 200 basis points</p></td><td style="vertical-align:top;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,105</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.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;"><span style="white-space:pre-wrap;"> 8,105</span></p></td></tr><tr><td style="vertical-align:top;width:24.51%;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;">Up 100 basis points</p></td><td style="vertical-align:top;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,053</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,053</span></p></td></tr><tr><td style="vertical-align:top;width:24.51%;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;">Down 100 basis points</p></td><td style="vertical-align:top;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.55%;margin: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="white-space:pre-wrap;"> (4,053)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.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;"><span style="white-space:pre-wrap;"> (4,053)</span></p></td></tr><tr><td style="vertical-align:top;width:24.51%;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;">Down 200 basis points</p></td><td style="vertical-align:top;width:2.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.55%;background:#cceeff;margin: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="white-space:pre-wrap;"> (8,105)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.39%;background:#cceeff;margin: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="white-space:pre-wrap;"> (8,105)</span></p></td></tr><tr><td style="vertical-align:top;width:24.51%;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;">Down 300 basis points</p></td><td style="vertical-align:top;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.55%;margin: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="white-space:pre-wrap;"> (12,158)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.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;"><span style="white-space:pre-wrap;"> (12,158)</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:8pt 0pt 8pt 0pt;">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 income, net, line of our condensed consolidated statement of earnings. </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 &#8220;Risk Factors&#8221; 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. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">41</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">We are subject to fluctuations in prices for commodities including steel products, copper, concrete and fuel.&#160;Although we attempt to secure firm quotes from our suppliers, we generally do not hedge against increases in prices for these commodities.&#160;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. </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;">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&#8217; confidence in commencing new work which may adversely affect our expected levels of revenues until the supply chain disruptions substantially dissipate.</p><a id="_1feb09b5_c657_4e7f_b0a1_4015fb88b97e"></a><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;">ITEM&#160;4. CONTROLS AND PROCEDURES</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;">Evaluation of disclosure controls and procedures.</b> 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&#160;13a-15(e)&#160;and 15d-15(e)&#160;under the Securities Exchange Act of 1934 (the &#8220;Exchange Act&#8221;)) as of October 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 October 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.</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;">Changes in internal controls over financial reporting.</b> There have been no significant changes in our internal control over financial reporting (as defined in Rules&#160;13a-15 and 15d-15 under the Exchange Act) during the fiscal quarter ended October 31, 2023 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.</p><a id="_08aacc59_9794_4021_90b5_833a44ac63bf"></a><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;">PART&#160;II</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;">ITEM&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">1.  LEGAL PROCEEDINGS</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, 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.</p><a id="_93c8d6d7_1947_4ba4_a5ef_ffee91969a25"></a><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;">ITEM&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">1A.  RISK FACTORS</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;">There have been no material changes to the risk factors disclosed in our Annual Report.</p><a id="_3e29c511_17bb_417b_a50c_0330f38f495e"></a><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;">ITEM&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">2.  UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS</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;">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 &#8220;Share Repurchase Plan&#8221;). 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&#8217;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.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">42</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;">Information related to our share repurchases for the three months ended October 31, 2023 follows:</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:top;width:27.01%;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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:27.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;">&#8203;</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;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.4%;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;">&#8203;</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;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.69%;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;">&#8203;</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;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.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;">&#8203;</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;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Approximate Dollar</b></p></td></tr><tr><td style="vertical-align:top;width:27.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;">&#8203;</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;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.4%;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;">&#8203;</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;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.69%;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;">&#8203;</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;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total Number of</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;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.34%;margin:0pt;padding:0pt;"><p style="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 of Shares That May Yet</b></p></td></tr><tr><td style="vertical-align:top;width:27.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;">&#8203;</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;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.4%;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;">&#8203;</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;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.69%;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;">&#8203;</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;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.96%;margin:0pt;padding:0pt;"><p style="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 Purchased as Part</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;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Be Purchased under the</b></p></td></tr><tr><td style="vertical-align:top;width:27.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;">&#8203;</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;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total Number of</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;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.69%;margin:0pt;padding:0pt;"><p style="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 Price per</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;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">of Publicly Announced</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;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Plans or Programs</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:27.01%;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;margin:0pt;"><b style="font-weight:bold;">Period</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;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.4%;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 Repurchased</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;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.69%;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;">Share Paid</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;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.96%;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;">Plans or Programs</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;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.34%;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;">(Dollars in Thousands)</b></p></td></tr><tr><td style="vertical-align:top;width:27.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;">August 1 - 31, 2023</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,000</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;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.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 39.81</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,000</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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:19.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,311</span></p></td></tr><tr><td style="vertical-align:top;width:27.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">September 1 - 30, 2023</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,158</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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><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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,266</span></p></td></tr><tr><td style="vertical-align:top;width:27.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;">October 1 - 31, 2023</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.4%;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;"><span style="white-space:pre-wrap;"> 33,553</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;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.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 46.80</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.96%;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;"><span style="white-space:pre-wrap;"> 6,553</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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:19.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 27,975</span></p></td></tr><tr><td style="vertical-align:top;width:27.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;"><b style="font-weight:bold;">Total</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,711</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin: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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,653</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.72%;margin: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;">&#8203;</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;">&#8203;</span></p><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="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 month ended September 30, 2023, we accepted 2,058 shares of our common stock at the average price per share of $44.33 for the exercise price and/or tax withholding in connection with stock option exercises and restricted stock unit settlements that occurred during the period. For the month ended October 31, 2023, we accepted 27,000 shares of our common stock at the average price per share of $47.38 for the exercise price and/or tax withholding in connection with stock option exercises and restricted stock unit settlements that occurred during the period</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:8pt 0pt 8pt 0pt;">Under the Share Repurchase Plan and as of October 31, 2023, the Company has repurchased 2,595,907 shares of its common stock since November 2021 (when it began to make such repurchases) at an average price of $37.38 per share.</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;">&#8203;</span></p><a id="_3e939d7d_07d4_49c0_8eee_495180ca2237"></a><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;">ITEM&#160;3. &#160;DEFAULTS UPON SENIOR SECURITIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 54pt;">None</p><a id="_81e23343_f14d_4f99_a264_c0c6eea2b13a"></a><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;">ITEM&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">4.  MINE SAFETY DISCLOSURES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 54pt;">Not Applicable</p><a id="_09f594c1_61c2_4459_b71e_f7226c630509"></a><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;">ITEM&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">5.  OTHER 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 54pt;"><ix:nonNumeric contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" format="ixt:booleanfalse" name="ecd:Rule10b51ArrAdoptedFlag" id="Narr_A4HFrKXvGkSkJHND_IZTHQ">N</ix:nonNumeric><ix:nonNumeric contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" format="ixt:booleanfalse" name="ecd:NonRule10b51ArrAdoptedFlag" id="Narr_7c3fREaSQEWGTjN0Y6Y0UQ">o</ix:nonNumeric><ix:nonNumeric contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" format="ixt:booleanfalse" name="ecd:Rule10b51ArrTrmntdFlag" id="Narr_3l7_Fx5Np0u8sbEfSlMtKA">n</ix:nonNumeric><ix:nonNumeric contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q" format="ixt:booleanfalse" name="ecd:NonRule10b51ArrTrmntdFlag" id="Narr_IcuK4HUDj0OcI0nvt_YAww">e</ix:nonNumeric></p><a id="_987801e0_858b_47c6_81cd_620898892987"></a><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;">ITEM&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">6.  EXHIBITS</b></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:top;width:14.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:middle;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"></div></div></td><td style="vertical-align:top;width:83.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:14.3%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Exhibit&#160;No.&#160;</b></p></td><td style="vertical-align:middle;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:top;width:83.64%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Title</b></p></td></tr><tr><td style="vertical-align:top;width:14.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exhibit&#160;31.1</p></td><td style="vertical-align:middle;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:83.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="agx-20231031xex31d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification of Chief Executive Officer, pursuant to Rule&#160;13a-14(c)&#160;under the Securities Exchange Act of 1934.</span></a></p></td></tr><tr><td style="vertical-align:top;width:14.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exhibit&#160;31.2</p></td><td style="vertical-align:middle;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:83.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="agx-20231031xex31d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification of Chief Financial Officer, pursuant to Rule&#160;13a-14(c)&#160;under the Securities Exchange Act of 1934.</span></a></p></td></tr><tr><td style="vertical-align:top;width:14.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exhibit&#160;32.1</p></td><td style="vertical-align:middle;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:83.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="agx-20231031xex32d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification of Chief Executive Officer, pursuant to 18 U.S.C. Section&#160;1350. *</span></a></p></td></tr><tr><td style="vertical-align:top;width:14.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exhibit&#160;32.2</p></td><td style="vertical-align:middle;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:83.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="agx-20231031xex32d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification of Chief Financial Officer, pursuant to 18 U.S.C. Section&#160;1350. *</span></a></p></td></tr><tr><td style="vertical-align:top;width:14.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:83.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:14.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exhibit 101:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exhibit&#160;101.INS</p></td><td style="vertical-align:middle;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:83.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;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">XBRL Instance Document &#8211; the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document. </p></td></tr><tr><td style="vertical-align:top;width:14.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exhibit&#160;101.SCH</p></td><td style="vertical-align:middle;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:83.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Inline XBRL Taxonomy Extension Schema.</p></td></tr><tr><td style="vertical-align:top;width:14.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exhibit&#160;101.CAL</p></td><td style="vertical-align:middle;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:83.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Inline XBRL Taxonomy Extension Calculation Linkbase.</p></td></tr><tr><td style="vertical-align:top;width:14.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exhibit&#160;101.LAB</p></td><td style="vertical-align:middle;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:83.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Inline XBRL Taxonomy Label Linkbase.</p></td></tr><tr><td style="vertical-align:top;width:14.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exhibit&#160;101.PRE</p></td><td style="vertical-align:middle;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:83.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Inline XBRL Taxonomy Presentation Linkbase. </p></td></tr><tr><td style="vertical-align:top;width:14.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exhibit&#160;101.DEF</p></td><td style="vertical-align:middle;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:83.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Inline XBRLTaxonomy Extension Definition Document.</p></td></tr><tr><td style="vertical-align:top;width:14.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exhibit 104</p></td><td style="vertical-align:middle;width: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;">&#8203;</span></p></td><td style="vertical-align:top;width:83.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Cover Page Interactive Data File &#8211; 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.</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1px;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;">*</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;">The certification is being furnished and shall not be considered filed as part of this report.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;padding-left:18pt;text-indent:-18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_44a0de35_528a_4e10_92de_1520b9be8523"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt 0pt 8pt 0pt;"><span style="margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">43</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:79.41%;border:0;margin:30pt 10.29% 30pt 10.29%;"></div><div style="max-width:100%;padding-left:10.29%;padding-right:10.29%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:bold;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">SIGNATURES</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;">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.</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:top;width:49.91%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:4.16%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:45.91%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:49.91%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td colspan="2" style="vertical-align:top;width:50.08%;margin:0pt;padding:0pt 1.79pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">ARGAN,&#160;INC.</b></p></td></tr><tr><td style="vertical-align:top;width:49.91%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td colspan="2" style="vertical-align:top;width:50.08%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:49.91%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">December 6, 2023</p></td><td style="vertical-align:top;width:4.16%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">By:&#160;&#160;</p></td><td style="vertical-align:top;width:45.91%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;">/s/&#160;David H. Watson</i></p></td></tr><tr><td style="vertical-align:top;width:49.91%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:4.16%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:45.91%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">David H. Watson</p></td></tr><tr><td style="vertical-align:top;width:49.91%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:4.16%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:45.91%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">President and Chief Executive Officer</p></td></tr><tr><td style="vertical-align:top;width:49.91%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:top;width:50.08%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:49.91%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">December 6, 2023</p></td><td style="vertical-align:top;width:4.16%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">By:&#160;&#160;</p></td><td style="vertical-align:top;width:45.91%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;">/s/&#160;Richard H. Deily</i></p></td></tr><tr><td style="vertical-align:top;width:49.91%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:4.16%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:45.91%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Richard H. Deily</p></td></tr><tr><td style="vertical-align:top;width:49.91%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:4.16%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:45.91%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Senior Vice President, Chief Financial Officer,</p></td></tr><tr><td style="vertical-align:top;width:49.91%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:4.16%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:45.91%;margin:0pt;padding:0pt 0.8pt 0pt 18pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Treasurer and Corporate Secretary</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt 0pt 12pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;"><span style="line-height:1.19;margin-bottom:0pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:24pt 0pt 0pt 0pt;">44</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;margin-left:10.29%;margin-right:10.29%;margin-top:30pt;page-break-after:avoid;width:79.41%;border:0;"></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>agx-20231031xex31d1.htm
<DESCRIPTION>EX-31.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.4.105.0--><!--Created on: 12/6/2023 09:02:38 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 36pt;"><b style="font-weight:bold;">Exhibit 31.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 36pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">SARBANES-OXLEY ACT SECTION 302(a) CERTIFICATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">I, David H. Watson, certify that:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">1.&#160;&#160;&#160;&#160;I have reviewed this Quarterly Report on Form 10-Q of Argan, Inc. (the &#8220;Registrant&#8221;) for the period ended October 31, 2023;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">2.&#160;&#160;&#160;&#160;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;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">3.&#160;&#160;&#160;&#160;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;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">4.&#160;&#160;&#160;&#160;The Registrant&#8217;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:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">a)&#160;&#160;&#160;&#160;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;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">b)&#160;&#160;&#160;&#160;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;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">c)&#160;&#160;&#160;&#160;Evaluated the effectiveness of the Registrant&#8217;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</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">d)&#160;&#160;&#160;&#160;Disclosed in this report any change in the Registrant&#8217;s internal control over financial reporting that occurred during the Registrant&#8217;s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the Registrant&#8217;s internal control over financial reporting; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">5.&#160;&#160;&#160;&#160;The Registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the Registrant&#8217;s auditors and the audit committee of the Registrant&#8217;s board of directors (or persons performing the equivalent functions):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">a)&#160;&#160;&#160;&#160;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&#8217;s ability to record, process, summarize and report financial information; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">b)&#160;&#160;&#160;&#160;Any fraud, whether or not material, that involves management or other employees who have a significant role in the Registrant&#8217;s internal control over financial reporting.</p><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:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:47%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Date: December 6, 2023</p></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:top;width:47%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">/s/&#160;David H. Watson</i></p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 1.79pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:47%;margin:0pt;padding:0pt 1.79pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">David H. Watson</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 1.79pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">President and Chief Executive Officer</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 1.79pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Principal Executive Officer)</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>agx-20231031xex31d2.htm
<DESCRIPTION>EX-31.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.4.105.0--><!--Created on: 12/6/2023 09:02:38 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 36pt;"><b style="font-weight:bold;">Exhibit 31.2</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 36pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">SARBANES-OXLEY ACT SECTION 302(a) CERTIFICATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">I, Richard H. Deily, certify that:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">1.&#160;&#160;&#160;&#160;I have reviewed this Quarterly Report on Form 10-Q of Argan, Inc. (the &#8220;Registrant&#8221;) for the period ended October 31, 2023;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">2.&#160;&#160;&#160;&#160;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;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">3.&#160;&#160;&#160;&#160;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;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">4.&#160;&#160;&#160;&#160;The Registrant&#8217;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:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">a)&#160;&#160;&#160;&#160;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;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">b)&#160;&#160;&#160;&#160;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;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">c)&#160;&#160;&#160;&#160;Evaluated the effectiveness of the Registrant&#8217;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</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">d)&#160;&#160;&#160;&#160;Disclosed in this report any change in the Registrant&#8217;s internal control over financial reporting that occurred during the Registrant&#8217;s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the Registrant&#8217;s internal control over financial reporting; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">5.&#160;&#160;&#160;&#160;The Registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the Registrant&#8217;s auditors and the audit committee of the Registrant&#8217;s board of directors (or persons performing the equivalent functions):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">a)&#160;&#160;&#160;&#160;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&#8217;s ability to record, process, summarize and report financial information; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">b)&#160;&#160;&#160;&#160;Any fraud, whether or not material, that involves management or other employees who have a significant role in the Registrant&#8217;s internal control over financial reporting.</p><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:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:top;width:42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:55%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Date: December 6, 2023</p></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:top;width:55%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">/s/&#160;Richard H. Deily</i></p></td></tr><tr><td style="vertical-align:top;width:42%;margin:0pt;padding:0pt 1.79pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Richard H. Deily</p></td></tr><tr style="height:22.5pt;"><td style="vertical-align:top;width:42%;margin:0pt;padding:0pt 1.79pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:13.5pt;text-indent:-13.5pt;margin:0pt;">Senior Vice President, Chief Financial Officer, Treasurer and Corporate Secretary</p></td></tr><tr><td style="vertical-align:top;width:42%;margin:0pt;padding:0pt 1.79pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Principal Financial Officer)</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>4
<FILENAME>agx-20231031xex32d1.htm
<DESCRIPTION>EX-32.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.4.105.0--><!--Created on: 12/6/2023 09:02:38 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 36pt;"><b style="font-weight:bold;">Exhibit 32.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 36pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CERTIFICATION PURSUANT TO</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">18 U.S.C. SECTION 1350,</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">AS ADOPTED PURSUANT TO</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In connection with the Quarterly Report of Argan, Inc., a Delaware corporation (the &#8220;Company&#8221;), on Form 10-Q for the period ended October 31, 2023, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), 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:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">1.&#160;&#160;&#160;&#160;&#160;The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">2.&#160;&#160;&#160;&#160;&#160;Information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</p><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:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:47%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Date: December 6, 2023</p></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:top;width:47%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">/s/&#160;David H. Watson</i></p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 1.79pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:47%;margin:0pt;padding:0pt 1.79pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">David H. Watson</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 1.79pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">President and Chief Executive Officer</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 1.79pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Principal Executive Officer)</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>5
<FILENAME>agx-20231031xex32d2.htm
<DESCRIPTION>EX-32.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.4.105.0--><!--Created on: 12/6/2023 09:02:38 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 36pt;"><b style="font-weight:bold;">Exhibit 32.2</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 36pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CERTIFICATION PURSUANT TO</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">18 U.S.C. SECTION 1350,</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">AS ADOPTED PURSUANT TO</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In connection with the Quarterly Report of Argan, Inc., a Delaware corporation (the &#8220;Company&#8221;), on Form 10-Q for the period ended October 31, 2023, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), 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:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">1.&#160;&#160;&#160;&#160;&#160;The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">2.&#160;&#160;&#160;&#160;&#160;Information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</p><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:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:top;width:42%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:42%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Date: December 6, 2023</p></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By: </p></td><td style="vertical-align:top;width:55%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">/s/&#160;Richard H. Deily</i></p></td></tr><tr><td style="vertical-align:top;width:42%;margin:0pt;padding:0pt 1.79pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt 0.8pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Richard H. Deily</p></td></tr><tr style="height:24.75pt;"><td style="vertical-align:top;width:42%;margin:0pt;padding:0pt 1.79pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:13.6pt;text-indent:-13.6pt;margin:0pt;">Senior Vice President, Chief Financial Officer, Treasurer and Corporate Secretary</p></td></tr><tr><td style="vertical-align:top;width:42%;margin:0pt;padding:0pt 1.79pt 0pt 0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Principal Financial Officer)</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>6
<FILENAME>agx-20231031x10q001.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 agx-20231031x10q001.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)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#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<Z/X"B\'Z7>-8:QXMBN[6.Y1BK10QPDRD$<C)>-<CH&-1
M.<:<7.;LEJS*K45*#F^AP_[3'[<T?PPTV&/P/IEOXAFGN_L;:Q<.39QL =Q0
M*092,$ [@I(X) KQ_5/VC/%7CNQAN],\=Z@A=]T]K!.ME,$Q]U54* 0<>O'0
MU\X> OC1::3H2> /B#X>FAGTR);-B(0Z.B<)N3@@@ 89<@\$8KL-'@\."59?
M#UQ<RQGE;6XMFD4>W(!_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.<Q6J&1_H"0N?RKZBAAX8BZJ+7R37X,]'VTX
M13_S/V'CD65%=&#(P!#*<@@]"#3J^-/^":OQOO?'WP_UOP5JUR]U>^%)(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,<R9X)5NQX(RIX)J
M)J3BU!J_GJO1KL]GY'/B*7MJ3@C\EIOC;X4\6R_V7X[\&W6FZ[:_))');B0Q
MG_8;*R*/;I[FMS0VT&:9/^$<BU",D_+N;:H_[[)KH?BV]_\ "_Q$OAGXP>"E
M\P,5L?$-E;"?3]04='B9L-&W<QY)7Z8)PM*D\.W3#^P+:ZC)^Z(R\8_5JQP=
M%X?14*T/*$N:'R[+RW1\Y2C*#<9)W/9O"OPW\5^(-#O+C5/'MUX=T6.(M)%:
MSD%E]"_R*/UKYP^)3>%M$O9;7PZLFN:@<@WLKF4D]SYAX_[Y&/>O<O#'[/\
MJWQ"@EN=6U<:?80H9#&7:ZF;'0 $[%^N3]*P)?@-?^*?$/\ PBO@?2GNKV0@
M7%U.Q*PKG_63RX^51Z#KT4$U]7A)<K<I+E7F[L]&46TK(ZS_ ()4>&+]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:"<?CT_&OS^_:(T#5?@OXR\'>+ SG4KB*'6IG.3F]23?.G_ (\H
MQZ&N><GSQC'YG+6FX6:^9^B5%<1XR\92GX4W/BSP_=(FZP34;61HQ(CHRA@"
M#V(;ZUX!X>^*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_QKK<NE:C;Z7,NGPZ-8:;
M)#)%.=C+-)-YC!HRC\@*""#S6=/$TZM"6)B_<5]?0A8B#7,MM?P/JCQ!X;TG
MQ9I,^EZWIMIJ^FSC$MI?0K-$_P!58$5XS<_L4_"W[9]HTW3;[023GR].O7$8
M/LC[P/H.*X/X\_'CQQ\*/AQX1\>Z7KD6H1:H^;G1K_38XXB A<A2,2*/E(R6
M/4'V/<_&3XR^(/"VF>$=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\
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
3F R1]378E)<NNV_F=24]+L__V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>7
<FILENAME>agx-20231031.xsd
<DESCRIPTION>EX-101.SCH
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.4.0.13 -->
<!--Based on XBRL 2.1-->
<!--Created on: 12/6/2023 9:02:57 PM-->
<!--Modified on: 12/6/2023 9:02:57 PM-->
<xsd:schema targetNamespace="http://www.arganinc.com/20231031" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:currency="http://xbrl.sec.gov/currency/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:us-types="http://fasb.org/us-types/2023" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:stpr="http://xbrl.sec.gov/stpr/2023" xmlns:naics="http://xbrl.sec.gov/naics/2023" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:agx="http://www.arganinc.com/20231031" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:deprecated="http://www.xbrl.org/2009/role/deprecated" xmlns:us-roles="http://fasb.org/us-roles/2023" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:srt-roles="http://fasb.org/srt-roles/2023" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:net="http://www.xbrl.org/2009/role/net" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:attributeFormDefault="unqualified" xmlns:srt="http://fasb.org/srt/2023" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dtr="http://www.xbrl.org/2009/dtr" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:ecd-sub="http://xbrl.sec.gov/ecd-sub/2023">
  <xsd:annotation>
    <xsd:appinfo>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureStandardAndCustomAxisDomainDefaults" id="DisclosureStandardAndCustomAxisDomainDefaults">
        <link:definition>99900 - Disclosure - Standard And Custom Axis Domain Defaults</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" id="StatementCondensedConsolidatedStatementsOfEarnings">
        <link:definition>00100 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" id="StatementCondensedConsolidatedBalanceSheets">
        <link:definition>00200 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" id="StatementCondensedConsolidatedStatementsOfCashFlows">
        <link:definition>00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" id="DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails">
        <link:definition>40101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION - Financial Instruments on a Recurring Basis (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails" id="DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails">
        <link:definition>40303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" id="DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails">
        <link:definition>40501 - Disclosure - INTANGIBLE ASSETS - Components of Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails" id="DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails">
        <link:definition>40503 - Disclosure - INTANGIBLE ASSETS - Finite Lived Intangible Future Amortization Schedule (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" id="DisclosureCommitmentsFutureMinimumLeasePaymentsDetails">
        <link:definition>40702 - Disclosure - COMMITMENTS - Future minimum lease payments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" id="DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails">
        <link:definition>41001 - Disclosure - INCOME TAXES - Income Tax Expense Reconciliation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetailsCalc2" id="DisclosureCommitmentsFutureMinimumLeasePaymentsDetailsCalc2">
        <link:definition>41002 - Disclosure - COMMITMENTS - Future minimum lease payments (Details) Calc2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails" id="DisclosureNetIncomePerShareDetails">
        <link:definition>41101 - Disclosure - NET INCOME PER SHARE (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails" id="DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails">
        <link:definition>41501 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails" id="DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails">
        <link:definition>41502 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" id="DocumentDocumentAndEntityInformation">
        <link:definition>00090 - Document - Document and Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" id="StatementCondensedConsolidatedBalanceSheetsParenthetical">
        <link:definition>00205 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" id="StatementCondensedConsolidatedStatementsOfStockholdersEquity">
        <link:definition>00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentation" id="DisclosureDescriptionOfBusinessAndBasisOfPresentation">
        <link:definition>10101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestments" id="DisclosureCashCashEquivalentsAndInvestments">
        <link:definition>10301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureAccountsReceivable" id="DisclosureAccountsReceivable">
        <link:definition>10401 - Disclosure - ACCOUNTS RECEIVABLE</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureIntangibleAssets" id="DisclosureIntangibleAssets">
        <link:definition>10501 - Disclosure - INTANGIBLE ASSETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureFinancingArrangements" id="DisclosureFinancingArrangements">
        <link:definition>10601 - Disclosure - FINANCING ARRANGEMENTS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureCommitments" id="DisclosureCommitments">
        <link:definition>10701 - Disclosure - COMMITMENTS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureLegalContingencies" id="DisclosureLegalContingencies">
        <link:definition>10801 - Disclosure - LEGAL CONTINGENCIES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureStockBasedCompensation" id="DisclosureStockBasedCompensation">
        <link:definition>10901 - Disclosure - STOCK-BASED COMPENSATION</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureIncomeTaxes" id="DisclosureIncomeTaxes">
        <link:definition>11001 - Disclosure - INCOME TAXES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureNetIncomePerShare" id="DisclosureNetIncomePerShare">
        <link:definition>11101 - Disclosure - NET INCOME PER SHARE</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStock" id="DisclosureCashDividendsAndTreasuryStock">
        <link:definition>11201 - Disclosure - CASH DIVIDENDS AND TREASURY STOCK</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureCustomerConcentrations" id="DisclosureCustomerConcentrations">
        <link:definition>11301 - Disclosure - CUSTOMER CONCENTRATIONS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureSegmentReporting" id="DisclosureSegmentReporting">
        <link:definition>11401 - Disclosure - SEGMENT REPORTING</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies" id="DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies">
        <link:definition>20102 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationTables" id="DisclosureDescriptionOfBusinessAndBasisOfPresentationTables">
        <link:definition>30103 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables" id="DisclosureCashCashEquivalentsAndInvestmentsTables">
        <link:definition>30303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureIntangibleAssetsTables" id="DisclosureIntangibleAssetsTables">
        <link:definition>30503 - Disclosure - INTANGIBLE ASSETS (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureCommitmentsTables" id="DisclosureCommitmentsTables">
        <link:definition>30703 - Disclosure - COMMITMENTS (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureStockBasedCompensationTables" id="DisclosureStockBasedCompensationTables">
        <link:definition>30903 - Disclosure - STOCK-BASED COMPENSATION (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureIncomeTaxesTables" id="DisclosureIncomeTaxesTables">
        <link:definition>31003 - Disclosure - INCOME TAXES (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureNetIncomePerShareTables" id="DisclosureNetIncomePerShareTables">
        <link:definition>31103 - Disclosure - NET INCOME PER SHARE (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureSegmentReportingTables" id="DisclosureSegmentReportingTables">
        <link:definition>31403 - Disclosure - SEGMENT REPORTING (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails" id="DisclosureRevenuesFromContractsWithCustomersDetails">
        <link:definition>40201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" id="DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails">
        <link:definition>40202 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDefaultDetails" id="DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDefaultDetails">
        <link:definition>40202 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations Default (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" id="DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails">
        <link:definition>40203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" id="DisclosureCashCashEquivalentsAndInvestmentsDetails">
        <link:definition>40301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" id="DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails">
        <link:definition>40302 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureAccountsReceivableDetails" id="DisclosureAccountsReceivableDetails">
        <link:definition>40401 - Disclosure - ACCOUNTS RECEIVABLE (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails" id="DisclosureIntangibleAssetsAdditionalInformationDetails">
        <link:definition>40502 - Disclosure - INTANGIBLE ASSETS - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" id="DisclosureFinancingArrangementsDetails">
        <link:definition>40601 - Disclosure - FINANCING ARRANGEMENTS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" id="DisclosureCommitmentsLeasesDetails">
        <link:definition>40701 - Disclosure - COMMITMENTS - Leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails" id="DisclosureCommitmentsWarrantiesDetails">
        <link:definition>40703 - Disclosure - COMMITMENTS - Warranties (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" id="DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails">
        <link:definition>40901 - Disclosure - STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" id="DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails">
        <link:definition>40902 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" id="DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails">
        <link:definition>40903 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in restricted stock units (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" id="DisclosureStockBasedCompensationAdditionalInformationDetails">
        <link:definition>40904 - Disclosure - STOCK-BASED COMPENSATION - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureIncomeTaxesNetOperatingLossCarrybackDetails" id="DisclosureIncomeTaxesNetOperatingLossCarrybackDetails">
        <link:definition>41002 - Disclosure - INCOME TAXES - Net Operating Loss Carryback (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails" id="DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails">
        <link:definition>41003 - Disclosure - INCOME TAXES - Research and Development Tax Credits (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" id="DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails">
        <link:definition>41004 - Disclosure - INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureNetIncomePerShareAdditionalInformationDetails" id="DisclosureNetIncomePerShareAdditionalInformationDetails">
        <link:definition>41102 - Disclosure - NET INCOME PER SHARE - Additional information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails" id="DisclosureCashDividendsAndTreasuryStockDetails">
        <link:definition>41201 - Disclosure - CASH DIVIDENDS AND TREASURY STOCK (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" id="DisclosureCustomerConcentrationsDetails">
        <link:definition>41301 - Disclosure - CUSTOMER CONCENTRATIONS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureSegmentReportingDetails" id="DisclosureSegmentReportingDetails">
        <link:definition>41401 - Disclosure - SEGMENT REPORTING (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails" id="DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails">
        <link:definition>41503 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomers" id="DisclosureRevenuesFromContractsWithCustomers">
        <link:definition>10201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformation" id="DisclosureSupplementalFinancialStatementInformation">
        <link:definition>11501 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersTables" id="DisclosureRevenuesFromContractsWithCustomersTables">
        <link:definition>30203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationTables" id="DisclosureSupplementalFinancialStatementInformationTables">
        <link:definition>31503 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:linkbaseRef xlink:type="simple" xlink:href="agx-20231031_pre.xml" xlink:title="Presentation Links, all" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="agx-20231031_cal.xml" xlink:title="Calculation Links, all" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="agx-20231031_def.xml" xlink:title="Definition Links, all" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="agx-20231031_lab.xml" xlink:title="Label Links, all" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:import namespace="http://xbrl.sec.gov/ecd/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <xsd:import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
  <xsd:import namespace="http://fasb.org/us-roles/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd" />
  <xsd:import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
  <xsd:import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/ecd-sub/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd" />
  <xsd:element id="agx_AtlanticProjectsCompanyLimitedMember" name="AtlanticProjectsCompanyLimitedMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="agx_DocumentAndEntityInformationAbstract" name="DocumentAndEntityInformationAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element name="GemmaPowerSystemsMember" id="agx_GemmaPowerSystemsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="MajorCustomerOneMember" id="agx_MajorCustomerOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="MajorCustomerThreeMember" id="agx_MajorCustomerThreeMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="MajorCustomerTwoMember" id="agx_MajorCustomerTwoMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="NumberOfMajorCustomers" id="agx_NumberOfMajorCustomers" type="xbrli:integerItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="PowerIndustryServicesMember" id="agx_PowerIndustryServicesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue" id="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="instant" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue" id="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="instant" />
  <xsd:element name="TelecommunicationsInfrastructureServicesMember" id="agx_TelecommunicationsInfrastructureServicesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="agx_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock" name="ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="agx_StockPlanMember" name="StockPlanMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="agx_TradeAndOtherReceivablesDisclosureTextBlock" name="TradeAndOtherReceivablesDisclosureTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="agx_InvestmentMaturityPeriod" name="InvestmentMaturityPeriod" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="agx_CommitmentDisclosureAbstract" name="CommitmentDisclosureAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="agx_IncentiveStockOptionsMember" name="IncentiveStockOptionsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="agx_WeightedAverageRateDepositCertificatesOfDeposit" name="WeightedAverageRateDepositCertificatesOfDeposit" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" />
  <xsd:element id="agx_MajorCustomerFourMember" name="MajorCustomerFourMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="agx_WarrantyPeriodForConstructionContracts" name="WarrantyPeriodForConstructionContracts" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="agx_PercentageReductionInAggregateFairValueOfStockOption" name="PercentageReductionInAggregateFairValueOfStockOption" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="agx_RetainedAmountUnderConstructionContracts" name="RetainedAmountUnderConstructionContracts" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="agx_PerformanceBasedRestrictedStockUnitsMember" name="PerformanceBasedRestrictedStockUnitsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="agx_IncomeTaxRefundsAndPrepaidIncomeTaxes" name="IncomeTaxRefundsAndPrepaidIncomeTaxes" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" abstract="false" />
  <xsd:element id="agx_IncreaseInLossCarrybackPeriodForCertainLosses" name="IncreaseInLossCarrybackPeriodForCertainLosses" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="agx_ReversalOfProfitLossRecordedInPriorPeriods" name="ReversalOfProfitLossRecordedInPriorPeriods" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="agx_NPricedChangeOrdersIncludedInTransactionPrices" name="NPricedChangeOrdersIncludedInTransactionPrices" nillable="true" type="xbrli:decimalItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" />
  <xsd:element id="agx_Plan2020Member" name="Plan2020Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded" name="PercentageOfMaximumSharesForTargetNumberOfSharesAwarded" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="agx_DomesticNetOperatingLossCarryback" name="DomesticNetOperatingLossCarryback" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="agx_RobertsCompanyIncMember" name="RobertsCompanyIncMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="agx_GemmaPowerSystemLlcMember" name="GemmaPowerSystemLlcMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount" name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity" name="LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="agx_LettersOfCreditExpireOnMay312024Member" name="LettersOfCreditExpireOnMay312024Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue" nillable="true" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="agx_RenewablePerformanceBasedRestrictedStockUnitsMember" name="RenewablePerformanceBasedRestrictedStockUnitsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="agx_TimeBasedRestrictedStockUnitsMember" name="TimeBasedRestrictedStockUnitsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="agx_RemainingBondedPerformanceObligations" name="RemainingBondedPerformanceObligations" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="agx_CashInvestmentCommitments" name="CashInvestmentCommitments" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="agx_InvestmentsTerm" name="InvestmentsTerm" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" name="LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element name="NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod" id="agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="InitialApplicationsPeriodCumulativeEffectTransitionAxis" id="agx_InitialApplicationsPeriodCumulativeEffectTransitionAxis" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="InitialApplicationsPeriodCumulativeEffectTransitionDomain" id="agx_InitialApplicationsPeriodCumulativeEffectTransitionDomain" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="OperatingLeaseRightOfUseAssetAndOtherAssets" id="agx_OperatingLeaseRightOfUseAssetAndOtherAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="AccruedProjectCostsCurrent" id="agx_AccruedProjectCostsCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="AccruedLeaseLiabilitiesCurrent" id="agx_AccruedLeaseLiabilitiesCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="SupplementalFinancialStatementInformationAbstract" id="agx_SupplementalFinancialStatementInformationAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FraudulentlyInducedPaymentMember" id="agx_FraudulentlyInducedPaymentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="AvailableForSaleSecuritiesPolicyTextBlock" id="agx_AvailableForSaleSecuritiesPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="TreasuryStockPolicyTextBlock" id="agx_TreasuryStockPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="AccruedInvestmentIncomeDividendReceivable" id="agx_AccruedInvestmentIncomeDividendReceivable" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="EarningsPerSharePerformanceBasedRestrictedStockUnitsMember" id="agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo" id="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo" id="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree" id="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree" id="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="ShortTermRentalAgreementsExpense" id="agx_ShortTermRentalAgreementsExpense" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit" id="agx_Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="CashDividendAndTreasuryStockAbstract" id="agx_CashDividendAndTreasuryStockAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CashDividendAndTreasuryStockTextBlock" id="agx_CashDividendAndTreasuryStockTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards" id="agx_TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo" id="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree" id="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="IndustrialConstructionServicesMember" id="agx_IndustrialConstructionServicesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="UnrecognizedTaxLossBenefit" id="agx_UnrecognizedTaxLossBenefit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="OperatingLeasesPaid" id="agx_OperatingLeasesPaid" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="KilrootProjectMember" id="agx_KilrootProjectMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="EstimatedLoss" id="agx_EstimatedLoss" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears" id="agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo" id="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="PercentageIncreaseInCommonStockDividendPerShare" id="agx_PercentageIncreaseInCommonStockDividendPerShare" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation" id="agx_ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>8
<FILENAME>agx-20231031_cal.xml
<DESCRIPTION>EX-101.CAL
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  10.4.0.13 -->
<!--Based on XBRL 2.1-->
<!--Created on: 12/6/2023 9:02:57 PM-->
<!--Modified on: 12/6/2023 9:02:57 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#StatementCondensedConsolidatedStatementsOfEarnings" roleURI="http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" />
  <roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#StatementCondensedConsolidatedBalanceSheets" roleURI="http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" />
  <roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#StatementCondensedConsolidatedStatementsOfCashFlows" roleURI="http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" />
  <roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" roleURI="http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" />
  <roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails" roleURI="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails" />
  <roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" roleURI="http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" />
  <roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails" roleURI="http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails" />
  <roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" roleURI="http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" />
  <roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" roleURI="http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" />
  <roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCommitmentsFutureMinimumLeasePaymentsDetailsCalc2" roleURI="http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetailsCalc2" />
  <roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureNetIncomePerShareDetails" roleURI="http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails" />
  <roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails" roleURI="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails" />
  <roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails" roleURI="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails" />
  <calculationLink xlink:role="http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" xlink:type="extended" xlink:title="00100 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638374933744469005" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638374933744469005" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_638374933744469005" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_638374933744469005" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638374933744479005" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_NetIncomeLoss_638374933744479005" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638374933744479005" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss_638374933744479005" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638374933744479005" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638374933744479005" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss_638374933744479005" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638374933744479005" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_638374933744479005" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638374933744479005" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_638374933744479005" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638374933744479005" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638374933744479005" xlink:to="us-gaap_OperatingIncomeLoss_638374933744479005" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638374933744479005" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638374933744479005" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638374933744479005" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638374933744479005" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638374933744479005" xlink:to="us-gaap_GrossProfit_638374933744479005" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue_638374933744479005" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638374933744479005" xlink:to="us-gaap_CostOfRevenue_638374933744479005" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638374933744479005" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638374933744479005" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638374933744479005" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00200 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638374933744489012" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent_638374933744489012" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638374933744489012" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638374933744489012" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638374933744489012" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Investments" xlink:label="us-gaap_Investments_638374933744489012" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638374933744489012" xlink:to="us-gaap_Investments_638374933744489012" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638374933744489012" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638374933744489012" xlink:to="us-gaap_AccountsReceivableNetCurrent_638374933744489012" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_638374933744489012" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638374933744489012" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_638374933744489012" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent_638374933744489012" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638374933744489012" xlink:to="us-gaap_OtherAssetsCurrent_638374933744489012" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638374933744489012" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638374933744489012" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638374933744489012" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Goodwill_638374933744489012" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_638374933744489012" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_638374933744489012" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638374933744499010" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638374933744499010" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_OperatingLeaseRightOfUseAssetAndOtherAssets" xlink:label="agx_OperatingLeaseRightOfUseAssetAndOtherAssets_638374933744499010" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="agx_OperatingLeaseRightOfUseAssetAndOtherAssets_638374933744499010" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638374933744499010" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_638374933744499010" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638374933744499010" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638374933744499010" xlink:to="us-gaap_LiabilitiesCurrent_638374933744499010" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent_638374933744499010" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638374933744499010" xlink:to="us-gaap_AccountsPayableCurrent_638374933744499010" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent_638374933744499010" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638374933744499010" xlink:to="us-gaap_AccruedLiabilitiesCurrent_638374933744499010" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638374933744499010" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638374933744499010" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638374933744499010" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent_638374933744509004" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638374933744499010" xlink:to="us-gaap_LiabilitiesNoncurrent_638374933744509004" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies_638374933744509004" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_CommitmentsAndContingencies_638374933744509004" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638374933744509004" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity_638374933744509004" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue_638374933744509004" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638374933744509004" xlink:to="us-gaap_PreferredStockValue_638374933744509004" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638374933744509004" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638374933744509004" xlink:to="us-gaap_CommonStockValue_638374933744509004" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_638374933744509004" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638374933744509004" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_638374933744509004" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638374933744509004" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638374933744509004" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638374933744509004" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue_638374933744519008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638374933744509004" xlink:to="us-gaap_TreasuryStockValue_638374933744519008" order="5" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638374933744519008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638374933744509004" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638374933744519008" order="6" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638374933744519008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638374933744519008" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638374933744519008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638374933744519008" order="2" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_638374933744519008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638374933744519008" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_638374933744519008" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638374933744519008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638374933744519008" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638374933744519008" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_638374933744529007" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638374933744519008" xlink:to="us-gaap_PaymentsOfDividendsCommonStock_638374933744529007" order="3" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638374933744529007" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638374933744529007" order="3" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities_638374933744529007" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638374933744529007" xlink:to="us-gaap_PaymentsToAcquireHeldToMaturitySecurities_638374933744529007" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities" xlink:label="us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities_638374933744529007" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638374933744529007" xlink:to="us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities_638374933744529007" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:label="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_638374933744529007" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638374933744529007" xlink:to="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_638374933744529007" order="3" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638374933744529007" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638374933744529007" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638374933744529007" order="4" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933744529007" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933744529007" order="4" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638374933744529007" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933744529007" xlink:to="us-gaap_ProfitLoss_638374933744529007" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation_638374933744539006" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933744529007" xlink:to="us-gaap_Depreciation_638374933744539006" order="2" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638374933744539006" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933744529007" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638374933744539006" order="3" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense_638374933744539006" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933744529007" xlink:to="us-gaap_OperatingLeaseExpense_638374933744539006" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet" xlink:label="us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet_638374933744539006" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933744529007" xlink:to="us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet_638374933744539006" order="5" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638374933744539006" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933744529007" xlink:to="us-gaap_ShareBasedCompensation_638374933744539006" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets_638374933744539006" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933744529007" xlink:to="us-gaap_AmortizationOfIntangibleAssets_638374933744539006" order="7" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense_638374933744539006" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933744529007" xlink:to="us-gaap_OtherNoncashIncomeExpense_638374933744539006" order="8" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_638374933744539006" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933744529007" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638374933744539006" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638374933744549006" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933744529007" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638374933744549006" order="10" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638374933744549006" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933744529007" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638374933744549006" order="11" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_638374933744549006" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933744529007" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_638374933744549006" order="12" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638374933744549006" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933744529007" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638374933744549006" order="13" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_638374933744549006" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933744529007" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_638374933744549006" order="14" use="optional" weight="-1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" xlink:type="extended" xlink:title="40101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION - Financial Instruments on a Recurring Basis (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="us-gaap_AssetsFairValueDisclosure" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities_638374933744559008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsFairValueDisclosure" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities_638374933744559008" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure_638374933744559008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsFairValueDisclosure" xlink:to="us-gaap_CashAndCashEquivalentsFairValueDisclosure_638374933744559008" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails" xlink:type="extended" xlink:title="40303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Investments" xlink:label="us-gaap_Investments_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments" xlink:label="us-gaap_ShortTermInvestments_638374933744559008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Investments_1" xlink:to="us-gaap_ShortTermInvestments_638374933744559008" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities_638374933744559008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Investments_1" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities_638374933744559008" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" xlink:type="extended" xlink:title="40501 - Disclosure - INTANGIBLE ASSETS - Components of Intangible Assets (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638374933744559008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet_1" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638374933744559008" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_638374933744559008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet_1" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_638374933744559008" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails" xlink:type="extended" xlink:title="40503 - Disclosure - INTANGIBLE ASSETS - Finite Lived Intangible Future Amortization Schedule (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638374933744569010" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638374933744569010" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638374933744569010" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638374933744569010" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638374933744569010" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638374933744569010" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638374933744569010" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638374933744569010" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638374933744569010" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638374933744569010" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_638374933744569010" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_638374933744569010" order="6" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" xlink:type="extended" xlink:title="40702 - Disclosure - COMMITMENTS - Future minimum lease payments (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638374933744569010" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638374933744569010" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638374933744579007" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638374933744579007" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:label="agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_638374933744579007" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_638374933744579007" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638374933744579007" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638374933744579007" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638374933744579007" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638374933744579007" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_638374933744579007" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_638374933744579007" order="6" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" xlink:type="extended" xlink:title="41001 - Disclosure - INCOME TAXES - Income Tax Expense Reconciliation (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_638374933744579007" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_638374933744579007" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_UnrecognizedTaxLossBenefit" xlink:label="agx_UnrecognizedTaxLossBenefit_638374933744579007" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="agx_UnrecognizedTaxLossBenefit_638374933744579007" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_638374933744579007" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_638374933744579007" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_638374933744589008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_638374933744589008" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther_638374933744589008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther_638374933744589008" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount" xlink:label="agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount_638374933744589008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount_638374933744589008" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment_638374933744589008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment_638374933744589008" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment_638374933744589008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment_638374933744589008" order="8" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetailsCalc2" xlink:type="extended" xlink:title="41002 - Disclosure - COMMITMENTS - Future minimum lease payments (Details) Calc2">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638374933744589008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638374933744589008" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638374933744589008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1" xlink:to="us-gaap_OperatingLeaseLiability_638374933744589008" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638374933744599008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability_638374933744589008" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638374933744599008" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638374933744599008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability_638374933744589008" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638374933744599008" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails" xlink:type="extended" xlink:title="41101 - Disclosure - NET INCOME PER SHARE (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638374933744599008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638374933744599008" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638374933744599008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638374933744599008" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails" xlink:type="extended" xlink:title="41501 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent_1" />
    <loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_IncomeTaxRefundsAndPrepaidIncomeTaxes" xlink:label="agx_IncomeTaxRefundsAndPrepaidIncomeTaxes_638374933744599008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsCurrent_1" xlink:to="agx_IncomeTaxRefundsAndPrepaidIncomeTaxes_638374933744599008" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials" xlink:label="us-gaap_InventoryRawMaterials_638374933744599008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsCurrent_1" xlink:to="us-gaap_InventoryRawMaterials_638374933744599008" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="us-gaap_PrepaidExpenseCurrent_638374933744599008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsCurrent_1" xlink:to="us-gaap_PrepaidExpenseCurrent_638374933744599008" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMiscellaneousCurrent" xlink:label="us-gaap_OtherAssetsMiscellaneousCurrent_638374933744609008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsCurrent_1" xlink:to="us-gaap_OtherAssetsMiscellaneousCurrent_638374933744609008" order="4" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails" xlink:type="extended" xlink:title="41502 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent_638374933744609008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent_1" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent_638374933744609008" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_AccruedProjectCostsCurrent" xlink:label="agx_AccruedProjectCostsCurrent_638374933744609008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent_1" xlink:to="agx_AccruedProjectCostsCurrent_638374933744609008" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_AccruedLeaseLiabilitiesCurrent" xlink:label="agx_AccruedLeaseLiabilitiesCurrent_638374933744609008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent_1" xlink:to="agx_AccruedLeaseLiabilitiesCurrent_638374933744609008" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_638374933744609008" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent_1" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent_638374933744609008" order="4" use="optional" weight="1" />
  </calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>9
<FILENAME>agx-20231031_def.xml
<DESCRIPTION>EX-101.DEF
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.4.0.13 -->
<!--Based on XBRL 2.1-->
<!--Created on: 12/6/2023 9:02:57 PM-->
<!--Modified on: 12/6/2023 9:02:57 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#StatementCondensedConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" roleURI="http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureRevenuesFromContractsWithCustomersDetails" roleURI="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" roleURI="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDefaultDetails" roleURI="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDefaultDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" roleURI="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCashCashEquivalentsAndInvestmentsDetails" roleURI="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" roleURI="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" roleURI="http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureIntangibleAssetsAdditionalInformationDetails" roleURI="http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureFinancingArrangementsDetails" roleURI="http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCommitmentsLeasesDetails" roleURI="http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCommitmentsWarrantiesDetails" roleURI="http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" roleURI="http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureStockBasedCompensationAdditionalInformationDetails" roleURI="http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" roleURI="http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCustomerConcentrationsDetails" roleURI="http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureSegmentReportingDetails" roleURI="http://www.arganinc.com/role/DisclosureSegmentReportingDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails" roleURI="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails" />
  <link:arcroleRef arcroleURI="http://www.esma.europa.eu/xbrl/esef/arcrole/wider-narrower" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd#wider-narrower" />
  <link:roleRef roleURI="http://www.arganinc.com/role/DisclosureStandardAndCustomAxisDomainDefaults" xlink:href="agx-20231031.xsd#DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="simple" />
  <link:roleRef xlink:type="simple" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd#eedm" roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" />
  <link:definitionLink xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:type="extended" xlink:title="Extensible Enumeration Domain Members">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:title="us-gaap_LiabilitiesCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:title="us-gaap_AccruedLiabilitiesCurrent" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedLiabilitiesCurrent" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_LiabilitiesCurrentAbstract To us-gaap_AccruedLiabilitiesCurrent" order="1" priority="0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrentAbstract" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract" xlink:title="us-gaap_LiabilitiesNoncurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent" xlink:title="us-gaap_LiabilitiesNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_LiabilitiesNoncurrentAbstract" xlink:to="us-gaap_LiabilitiesNoncurrent" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_LiabilitiesNoncurrentAbstract To us-gaap_LiabilitiesNoncurrent" order="1" priority="0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" xlink:title="us-gaap_AssetsAbstract" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_OperatingLeaseRightOfUseAssetAndOtherAssets" xlink:label="agx_OperatingLeaseRightOfUseAssetAndOtherAssets" xlink:title="agx_OperatingLeaseRightOfUseAssetAndOtherAssets" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AssetsAbstract" xlink:to="agx_OperatingLeaseRightOfUseAssetAndOtherAssets" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_AssetsAbstract To agx_OperatingLeaseRightOfUseAssetAndOtherAssets" order="3" priority="0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:title="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_AssetsAbstract To us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" order="1" priority="0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Investments" xlink:label="us-gaap_Investments_1" xlink:title="us-gaap_Investments_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Investments_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_AssetsAbstract To us-gaap_Investments_1" order="2" priority="0" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="extended" xlink:title="99900 - Disclosure - Standard And Custom Axis Domain Defaults">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_1" xlink:title="dei_LegalEntityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_1" xlink:title="dei_EntityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="dei_LegalEntityAxis_1" xlink:to="dei_EntityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:dei_LegalEntityAxis_1 To dei_EntityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_1" xlink:title="srt_StatementScenarioAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_1" xlink:title="srt_ScenarioUnspecifiedDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_StatementScenarioAxis_1" xlink:to="srt_ScenarioUnspecifiedDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_StatementScenarioAxis_1 To srt_ScenarioUnspecifiedDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_1" xlink:title="us-gaap_StatementEquityComponentsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_1" xlink:title="us-gaap_EquityComponentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementEquityComponentsAxis_1" xlink:to="us-gaap_EquityComponentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementEquityComponentsAxis_1 To us-gaap_EquityComponentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" xlink:title="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember_1" xlink:title="us-gaap_TypeOfAdoptionMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" xlink:to="us-gaap_TypeOfAdoptionMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1 To us-gaap_TypeOfAdoptionMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_1" xlink:title="srt_RangeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_1" xlink:title="srt_RangeMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_RangeAxis_1" xlink:to="srt_RangeMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_RangeAxis_1 To srt_RangeMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcceleratedShareRepurchasesDateAxis" xlink:label="us-gaap_AcceleratedShareRepurchasesDateAxis_1" xlink:title="us-gaap_AcceleratedShareRepurchasesDateAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcceleratedShareRepurchasesDateDomain" xlink:label="us-gaap_AcceleratedShareRepurchasesDateDomain_1" xlink:title="us-gaap_AcceleratedShareRepurchasesDateDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AcceleratedShareRepurchasesDateAxis_1" xlink:to="us-gaap_AcceleratedShareRepurchasesDateDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AcceleratedShareRepurchasesDateAxis_1 To us-gaap_AcceleratedShareRepurchasesDateDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LitigationStatusAxis" xlink:label="us-gaap_LitigationStatusAxis_1" xlink:title="us-gaap_LitigationStatusAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LitigationStatusDomain" xlink:label="us-gaap_LitigationStatusDomain_1" xlink:title="us-gaap_LitigationStatusDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_LitigationStatusAxis_1" xlink:to="us-gaap_LitigationStatusDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_LitigationStatusAxis_1 To us-gaap_LitigationStatusDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis_1" xlink:title="us-gaap_IncomeStatementLocationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_1" xlink:title="us-gaap_IncomeStatementLocationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementLocationAxis_1" xlink:to="us-gaap_IncomeStatementLocationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeStatementLocationAxis_1 To us-gaap_IncomeStatementLocationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_1" xlink:title="us-gaap_StatementBusinessSegmentsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_1" xlink:title="us-gaap_SegmentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementBusinessSegmentsAxis_1" xlink:to="us-gaap_SegmentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementBusinessSegmentsAxis_1 To us-gaap_SegmentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis_1" xlink:title="srt_LitigationCaseAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain_1" xlink:title="srt_LitigationCaseTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_LitigationCaseAxis_1" xlink:to="srt_LitigationCaseTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_LitigationCaseAxis_1 To srt_LitigationCaseTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_InitialApplicationsPeriodCumulativeEffectTransitionAxis" xlink:label="agx_InitialApplicationsPeriodCumulativeEffectTransitionAxis" xlink:title="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_InitialApplicationsPeriodCumulativeEffectTransitionDomain" xlink:label="agx_InitialApplicationsPeriodCumulativeEffectTransitionDomain" xlink:title="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="agx_InitialApplicationsPeriodCumulativeEffectTransitionAxis" xlink:to="agx_InitialApplicationsPeriodCumulativeEffectTransitionDomain" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_1 To us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_1" xlink:title="us-gaap_BalanceSheetLocationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_1" xlink:title="us-gaap_BalanceSheetLocationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_BalanceSheetLocationAxis_1" xlink:to="us-gaap_BalanceSheetLocationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_BalanceSheetLocationAxis_1 To us-gaap_BalanceSheetLocationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_1" xlink:title="srt_ProductOrServiceAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_1" xlink:title="srt_ProductsAndServicesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ProductOrServiceAxis_1" xlink:to="srt_ProductsAndServicesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ProductOrServiceAxis_1 To srt_ProductsAndServicesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_1" xlink:title="srt_StatementGeographicalAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_1" xlink:title="srt_SegmentGeographicalDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_StatementGeographicalAxis_1" xlink:to="srt_SegmentGeographicalDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_StatementGeographicalAxis_1 To srt_SegmentGeographicalDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InformationByCategoryOfDebtSecurityAxis" xlink:label="us-gaap_InformationByCategoryOfDebtSecurityAxis_1" xlink:title="us-gaap_InformationByCategoryOfDebtSecurityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain" xlink:label="us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain_1" xlink:title="us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_InformationByCategoryOfDebtSecurityAxis_1" xlink:to="us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_InformationByCategoryOfDebtSecurityAxis_1 To us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_1" xlink:title="us-gaap_BusinessAcquisitionAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_1" xlink:title="us-gaap_BusinessAcquisitionAcquireeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_BusinessAcquisitionAxis_1" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_BusinessAcquisitionAxis_1 To us-gaap_BusinessAcquisitionAcquireeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:title="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" xlink:title="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1 To us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:title="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_1" xlink:title="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_1 To us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_1" xlink:title="srt_ConsolidatedEntitiesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_1" xlink:title="srt_ConsolidatedEntitiesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ConsolidatedEntitiesAxis_1" xlink:to="srt_ConsolidatedEntitiesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ConsolidatedEntitiesAxis_1 To srt_ConsolidatedEntitiesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis_1" xlink:title="us-gaap_SubsequentEventTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_1" xlink:title="us-gaap_SubsequentEventTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_SubsequentEventTypeAxis_1" xlink:to="us-gaap_SubsequentEventTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_SubsequentEventTypeAxis_1 To us-gaap_SubsequentEventTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_1" xlink:title="us-gaap_CreditFacilityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_1" xlink:title="us-gaap_CreditFacilityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_CreditFacilityAxis_1" xlink:to="us-gaap_CreditFacilityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_CreditFacilityAxis_1 To us-gaap_CreditFacilityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis_1" xlink:title="us-gaap_VariableRateAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_1" xlink:title="us-gaap_VariableRateDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_VariableRateAxis_1" xlink:to="us-gaap_VariableRateDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_VariableRateAxis_1 To us-gaap_VariableRateDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis_1" xlink:title="us-gaap_GuaranteeObligationsByNatureAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain_1" xlink:title="us-gaap_GuaranteeObligationsNatureDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis_1" xlink:to="us-gaap_GuaranteeObligationsNatureDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_GuaranteeObligationsByNatureAxis_1 To us-gaap_GuaranteeObligationsNatureDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis_1" xlink:title="us-gaap_LossContingenciesByNatureOfContingencyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain_1" xlink:title="us-gaap_LossContingencyNatureDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis_1" xlink:to="us-gaap_LossContingencyNatureDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_LossContingenciesByNatureOfContingencyAxis_1 To us-gaap_LossContingencyNatureDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_1" xlink:title="us-gaap_AwardTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AwardTypeAxis_1" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AwardTypeAxis_1 To us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis_1" xlink:title="srt_TitleOfIndividualAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_1" xlink:title="srt_TitleOfIndividualWithRelationshipToEntityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_TitleOfIndividualAxis_1" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_TitleOfIndividualAxis_1 To srt_TitleOfIndividualWithRelationshipToEntityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_1" xlink:title="us-gaap_PlanNameAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_1" xlink:title="us-gaap_PlanNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PlanNameAxis_1" xlink:to="us-gaap_PlanNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PlanNameAxis_1 To us-gaap_PlanNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" xlink:title="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_1" xlink:title="us-gaap_AntidilutiveSecuritiesNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1 To us-gaap_AntidilutiveSecuritiesNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_1" xlink:title="us-gaap_ConcentrationRiskByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_1" xlink:title="us-gaap_ConcentrationRiskTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_1" xlink:to="us-gaap_ConcentrationRiskTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ConcentrationRiskByTypeAxis_1 To us-gaap_ConcentrationRiskTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_1" xlink:title="srt_MajorCustomersAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_1" xlink:title="srt_NameOfMajorCustomerDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_MajorCustomersAxis_1" xlink:to="srt_NameOfMajorCustomerDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_MajorCustomersAxis_1 To srt_NameOfMajorCustomerDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_1" xlink:title="us-gaap_ConcentrationRiskByBenchmarkAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_1" xlink:title="us-gaap_ConcentrationRiskBenchmarkDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_1" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ConcentrationRiskByBenchmarkAxis_1 To us-gaap_ConcentrationRiskBenchmarkDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_1" xlink:title="srt_ConsolidationItemsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_1" xlink:title="srt_ConsolidationItemsDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ConsolidationItemsAxis_1" xlink:to="srt_ConsolidationItemsDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ConsolidationItemsAxis_1 To srt_ConsolidationItemsDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityInterestIssuedOrIssuableByTypeAxis" xlink:label="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis_1" xlink:title="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityInterestIssuedOrIssuableTypeDomain" xlink:label="us-gaap_EquityInterestIssuedOrIssuableTypeDomain_1" xlink:title="us-gaap_EquityInterestIssuedOrIssuableTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_EquityInterestIssuedOrIssuableByTypeAxis_1" xlink:to="us-gaap_EquityInterestIssuedOrIssuableTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_EquityInterestIssuedOrIssuableByTypeAxis_1 To us-gaap_EquityInterestIssuedOrIssuableTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" xlink:title="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" xlink:title="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PropertyPlantAndEquipmentByTypeAxis_1 To us-gaap_PropertyPlantAndEquipmentTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="us-gaap_IncomeTaxAuthorityNameAxis_1" xlink:title="us-gaap_IncomeTaxAuthorityNameAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="us-gaap_IncomeTaxAuthorityNameDomain_1" xlink:title="us-gaap_IncomeTaxAuthorityNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeTaxAuthorityNameAxis_1" xlink:to="us-gaap_IncomeTaxAuthorityNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeTaxAuthorityNameAxis_1 To us-gaap_IncomeTaxAuthorityNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis_1" xlink:title="us-gaap_FairValueByMeasurementFrequencyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_1" xlink:title="us-gaap_FairValueMeasurementFrequencyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis_1" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FairValueByMeasurementFrequencyAxis_1 To us-gaap_FairValueMeasurementFrequencyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" xlink:title="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" xlink:title="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FairValueByFairValueHierarchyLevelAxis_1 To us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis_1" xlink:title="us-gaap_FinancialInstrumentAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1" xlink:title="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FinancialInstrumentAxis_1" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FinancialInstrumentAxis_1 To us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemAxis" xlink:label="us-gaap_UnusualOrInfrequentItemAxis_1" xlink:title="us-gaap_UnusualOrInfrequentItemAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemDomain" xlink:label="us-gaap_UnusualOrInfrequentItemDomain_1" xlink:title="us-gaap_UnusualOrInfrequentItemDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_UnusualOrInfrequentItemAxis_1" xlink:to="us-gaap_UnusualOrInfrequentItemDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_UnusualOrInfrequentItemAxis_1 To us-gaap_UnusualOrInfrequentItemDomain_1" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" xlink:type="extended" xlink:title="00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockCommonMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_NoncontrollingInterestMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProfitLoss" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsCommonStockCash" xlink:label="us-gaap_DividendsCommonStockCash" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DividendsCommonStockCash" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" xlink:type="extended" xlink:title="40101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION - Financial Instruments on a Recurring Basis (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementsRecurringMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel1Member" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel2Member" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FinancialInstrumentAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="us-gaap_MoneyMarketFundsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_MoneyMarketFundsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="us-gaap_USTreasurySecuritiesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_USTreasurySecuritiesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCorporateDebtSecuritiesMember" xlink:label="us-gaap_DomesticCorporateDebtSecuritiesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_DomesticCorporateDebtSecuritiesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_CashAndCashEquivalentsFairValueDisclosure" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="us-gaap_AssetsFairValueDisclosure" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_AssetsFairValueDisclosure" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails" xlink:type="extended" xlink:title="40201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_KilrootProjectMember" xlink:label="agx_KilrootProjectMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="agx_KilrootProjectMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_AtlanticProjectsCompanyLimitedMember" xlink:label="agx_AtlanticProjectsCompanyLimitedMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_EntityDomain" xlink:to="agx_AtlanticProjectsCompanyLimitedMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_EstimatedLoss" xlink:label="agx_EstimatedLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="agx_EstimatedLoss" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears" xlink:label="agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ReversalOfProfitLossRecordedInPriorPeriods" xlink:label="agx_ReversalOfProfitLossRecordedInPriorPeriods" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="agx_ReversalOfProfitLossRecordedInPriorPeriods" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_RetainedAmountUnderConstructionContracts" xlink:label="agx_RetainedAmountUnderConstructionContracts" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="agx_RetainedAmountUnderConstructionContracts" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_NPricedChangeOrdersIncludedInTransactionPrices" xlink:label="agx_NPricedChangeOrdersIncludedInTransactionPrices" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="agx_NPricedChangeOrdersIncludedInTransactionPrices" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" xlink:type="extended" xlink:title="40202 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationPercentage" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDefaultDetails" xlink:type="extended" xlink:title="40202 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations Default (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationPercentage" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" xlink:type="extended" xlink:title="40203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_IE" xlink:label="country_IE" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_IE" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_GB" xlink:label="country_GB" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_GB" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" xlink:type="extended" xlink:title="40301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InformationByCategoryOfDebtSecurityAxis" xlink:label="us-gaap_InformationByCategoryOfDebtSecurityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:to="us-gaap_InformationByCategoryOfDebtSecurityAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain" xlink:label="us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_InformationByCategoryOfDebtSecurityAxis" xlink:to="us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HeldtomaturitySecuritiesMember" xlink:label="us-gaap_HeldtomaturitySecuritiesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain" xlink:to="us-gaap_HeldtomaturitySecuritiesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="us-gaap_CashAndCashEquivalentsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_ScheduleOfCashAndCashEquivalentsTable" priority="2" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_InvestmentMaturityPeriod" xlink:label="agx_InvestmentMaturityPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="agx_InvestmentMaturityPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_WeightedAverageRateDepositCertificatesOfDeposit" xlink:label="agx_WeightedAverageRateDepositCertificatesOfDeposit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="agx_WeightedAverageRateDepositCertificatesOfDeposit" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_AccruedInvestmentIncomeDividendReceivable" xlink:label="agx_AccruedInvestmentIncomeDividendReceivable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="agx_AccruedInvestmentIncomeDividendReceivable" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestReceivable" xlink:label="us-gaap_InterestReceivable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_InterestReceivable" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" xlink:type="extended" xlink:title="40302 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:to="us-gaap_FinancialInstrumentAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasuryNotesSecuritiesMember" xlink:label="us-gaap_USTreasuryNotesSecuritiesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_USTreasuryNotesSecuritiesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCorporateDebtSecuritiesMember" xlink:label="us-gaap_DomesticCorporateDebtSecuritiesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_DomesticCorporateDebtSecuritiesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="us-gaap_CashAndCashEquivalentsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_ScheduleOfCashAndCashEquivalentsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleTerm" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTerm" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTerm" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:label="us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" xlink:label="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo" xlink:label="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" xlink:to="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree" xlink:label="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" xlink:to="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" xlink:to="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" xlink:to="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" xlink:to="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo" xlink:label="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" xlink:to="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree" xlink:label="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" xlink:to="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" xlink:type="extended" xlink:title="40501 - Disclosure - INTANGIBLE ASSETS - Components of Intangible Assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails" xlink:type="extended" xlink:title="40502 - Disclosure - INTANGIBLE ASSETS - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_RobertsCompanyIncMember" xlink:label="agx_RobertsCompanyIncMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="agx_RobertsCompanyIncMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_GemmaPowerSystemLlcMember" xlink:label="agx_GemmaPowerSystemLlcMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="agx_GemmaPowerSystemLlcMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract" xlink:label="us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract" xlink:to="us-gaap_Goodwill" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" xlink:type="extended" xlink:title="40601 - Disclosure - FINANCING ARRANGEMENTS (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_CreditFacilityAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_LineOfCreditMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LineOfCreditMember" xlink:to="us-gaap_RevolvingCreditFacilityMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LetterOfCreditMember" xlink:label="us-gaap_LetterOfCreditMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_LetterOfCreditMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="srt_StatementScenarioAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_LettersOfCreditExpireOnMay312024Member" xlink:label="agx_LettersOfCreditExpireOnMay312024Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="agx_LettersOfCreditExpireOnMay312024Member" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_VariableRateAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityTable" priority="2" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity" xlink:label="agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LettersOfCreditOutstandingAmount" xlink:label="us-gaap_LettersOfCreditOutstandingAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LettersOfCreditOutstandingAmount" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" xlink:type="extended" xlink:title="40701 - Disclosure - COMMITMENTS - Leases (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_GemmaPowerSystemsMember" xlink:label="agx_GemmaPowerSystemsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="agx_GemmaPowerSystemsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_GuaranteeObligationsByNatureAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis" xlink:to="us-gaap_GuaranteeObligationsNatureDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialGuaranteeMember" xlink:label="us-gaap_FinancialGuaranteeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="us-gaap_FinancialGuaranteeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend" xlink:label="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate" xlink:label="us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseExpense" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ShortTermRentalAgreementsExpense" xlink:label="agx_ShortTermRentalAgreementsExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_StatementLineItems" xlink:to="agx_ShortTermRentalAgreementsExpense" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_RemainingBondedPerformanceObligations" xlink:label="agx_RemainingBondedPerformanceObligations" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_StatementLineItems" xlink:to="agx_RemainingBondedPerformanceObligations" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsMaximumExposure" xlink:label="us-gaap_GuaranteeObligationsMaximumExposure" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GuaranteeObligationsMaximumExposure" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails" xlink:type="extended" xlink:title="40703 - Disclosure - COMMITMENTS - Warranties (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_WarrantyPeriodForConstructionContracts" xlink:label="agx_WarrantyPeriodForConstructionContracts" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="agx_WarrantyPeriodForConstructionContracts" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" xlink:type="extended" xlink:title="40903 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in restricted stock units (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" xlink:type="extended" xlink:title="40904 - Disclosure - STOCK-BASED COMPENSATION - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_TitleOfIndividualAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_PerformanceBasedRestrictedStockUnitsMember" xlink:label="agx_PerformanceBasedRestrictedStockUnitsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="agx_PerformanceBasedRestrictedStockUnitsMember" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember" xlink:label="agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_IncentiveStockOptionsMember" xlink:label="agx_IncentiveStockOptionsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="agx_IncentiveStockOptionsMember" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_RenewablePerformanceBasedRestrictedStockUnitsMember" xlink:label="agx_RenewablePerformanceBasedRestrictedStockUnitsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="agx_RenewablePerformanceBasedRestrictedStockUnitsMember" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_TimeBasedRestrictedStockUnitsMember" xlink:label="agx_TimeBasedRestrictedStockUnitsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="agx_TimeBasedRestrictedStockUnitsMember" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_StockPlanMember" xlink:label="agx_StockPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="agx_StockPlanMember" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_Plan2020Member" xlink:label="agx_Plan2020Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PlanNameDomain" xlink:to="agx_Plan2020Member" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod" xlink:label="agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsShares" xlink:label="us-gaap_CommonStockDividendsShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_CommonStockDividendsShares" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_PercentageReductionInAggregateFairValueOfStockOption" xlink:label="agx_PercentageReductionInAggregateFairValueOfStockOption" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="agx_PercentageReductionInAggregateFairValueOfStockOption" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded" xlink:label="agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensation" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" xlink:type="extended" xlink:title="41004 - Disclosure - INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable" xlink:label="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable" xlink:to="us-gaap_IncomeStatementLocationAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems" xlink:label="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems" xlink:to="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems" xlink:to="us-gaap_EquityMethodInvestments" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_CashInvestmentCommitments" xlink:label="agx_CashInvestmentCommitments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems" xlink:to="agx_CashInvestmentCommitments" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_InvestmentsTerm" xlink:label="agx_InvestmentsTerm" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems" xlink:to="agx_InvestmentsTerm" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaid" xlink:label="us-gaap_IncomeTaxesPaid" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems" xlink:to="us-gaap_IncomeTaxesPaid" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" xlink:type="extended" xlink:title="41301 - Disclosure - CUSTOMER CONCENTRATIONS (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_PowerIndustryServicesMember" xlink:label="agx_PowerIndustryServicesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="agx_PowerIndustryServicesMember" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_IndustrialConstructionServicesMember" xlink:label="agx_IndustrialConstructionServicesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ProductsAndServicesDomain" xlink:to="agx_IndustrialConstructionServicesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductConcentrationRiskMember" xlink:label="us-gaap_ProductConcentrationRiskMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ProductConcentrationRiskMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="srt_MajorCustomersAxis" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_MajorCustomerOneMember" xlink:label="agx_MajorCustomerOneMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="agx_MajorCustomerOneMember" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_MajorCustomerTwoMember" xlink:label="agx_MajorCustomerTwoMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="agx_MajorCustomerTwoMember" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_MajorCustomerThreeMember" xlink:label="agx_MajorCustomerThreeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="agx_MajorCustomerThreeMember" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_MajorCustomerFourMember" xlink:label="agx_MajorCustomerFourMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="agx_MajorCustomerFourMember" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsTotalMember" xlink:label="us-gaap_AssetsTotalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AssetsTotalMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskTable" priority="2" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_NumberOfMajorCustomers" xlink:label="agx_NumberOfMajorCustomers" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="agx_NumberOfMajorCustomers" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureSegmentReportingDetails" xlink:type="extended" xlink:title="41401 - Disclosure - SEGMENT REPORTING (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_PowerIndustryServicesMember" xlink:label="agx_PowerIndustryServicesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="agx_PowerIndustryServicesMember" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_IndustrialConstructionServicesMember" xlink:label="agx_IndustrialConstructionServicesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="agx_IndustrialConstructionServicesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_TelecommunicationsInfrastructureServicesMember" xlink:label="agx_TelecommunicationsInfrastructureServicesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentDomain" xlink:to="agx_TelecommunicationsInfrastructureServicesMember" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_ConsolidationItemsAxis" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" priority="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="us-gaap_OperatingSegmentsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateNonSegmentMember" xlink:label="us-gaap_CorporateNonSegmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ConsolidationItemsDomain" xlink:to="us-gaap_CorporateNonSegmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" priority="2" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_NumberOfOperatingSegments" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_CostOfRevenue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_GrossProfit" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_OperatingIncomeLoss" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ProfitLoss" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Depreciation" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:label="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_AssetsCurrent" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_LiabilitiesCurrent" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Goodwill" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Assets" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails" xlink:type="extended" xlink:title="41503 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemTable" xlink:label="us-gaap_UnusualOrInfrequentItemTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemAxis" xlink:label="us-gaap_UnusualOrInfrequentItemAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_UnusualOrInfrequentItemTable" xlink:to="us-gaap_UnusualOrInfrequentItemAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemDomain" xlink:label="us-gaap_UnusualOrInfrequentItemDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_UnusualOrInfrequentItemAxis" xlink:to="us-gaap_UnusualOrInfrequentItemDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_FraudulentlyInducedPaymentMember" xlink:label="agx_FraudulentlyInducedPaymentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_UnusualOrInfrequentItemDomain" xlink:to="agx_FraudulentlyInducedPaymentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemLineItems" xlink:label="us-gaap_UnusualOrInfrequentItemLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_UnusualOrInfrequentItemLineItems" xlink:to="us-gaap_UnusualOrInfrequentItemTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemNetGainLoss" xlink:label="us-gaap_UnusualOrInfrequentItemNetGainLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_UnusualOrInfrequentItemLineItems" xlink:to="us-gaap_UnusualOrInfrequentItemNetGainLoss" priority="1" use="optional" />
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>10
<FILENAME>agx-20231031_lab.xml
<DESCRIPTION>EX-101.LAB
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.4.0.13 -->
<!--Based on XBRL 2.1-->
<!--Created on: 12/6/2023 9:02:57 PM-->
<!--Modified on: 12/6/2023 9:02:57 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt">
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
  <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DocumentAndEntityInformationAbstract" xlink:label="agx_DocumentAndEntityInformationAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="agx_DocumentAndEntityInformationAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_DocumentAndEntityInformationAbstract_lbl" xml:lang="en-US">Document and entity information.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_DocumentAndEntityInformationAbstract_lbl" xml:lang="en-US">Document And Entity Information</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US">CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US">Revenue from Contract with Customer, Excluding Assessed Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US">Revenues</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US">Totals</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US">REVENUES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_CostOfRevenue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfRevenue_lbl" xml:lang="en-US">Cost of Revenue</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CostOfRevenue_lbl" xml:lang="en-US">Cost of revenues</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross Profit</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross profit</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">GROSS PROFIT</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Selling, General and Administrative Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Selling, general and administrative expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">INCOME FROM OPERATIONS</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Income (loss) from operations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xml:lang="en-US">Other Nonoperating Income (Expense)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xml:lang="en-US">Other income (loss), net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xml:lang="en-US">Other income, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">INCOME BEFORE INCOME TAXES</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income (loss) before income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Income tax expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Income tax expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">Net income</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">NET INCOME</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US">Foreign currency translation adjustments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_lbl" xml:lang="en-US">OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_lbl" xml:lang="en-US">Net unrealized losses on available-for-sale securities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US">COMPREHENSIVE INCOME</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US">NET INCOME PER SHARE</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US">NET INCOME PER SHARE</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Basic (in dollars per share)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Basic (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Diluted (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xml:lang="en-US">WEIGHTED AVERAGE NUMBER OF SHARES OUTSTANDING</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Basic (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted average number of shares outstanding - basic</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Weighted average number of shares outstanding - diluted</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockDividendsPerShareDeclared" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_lbl" xml:lang="en-US">Common Stock, Dividends, Per Share, Declared</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_lbl" xml:lang="en-US">Regular cash dividend declared per common stock</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_lbl" xml:lang="en-US">CASH DIVIDENDS PER SHARE</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US">CONDENSED CONSOLIDATED BALANCE SHEETS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">ASSETS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">CURRENT ASSETS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Investments" xlink:label="us-gaap_Investments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Investments" xlink:to="us-gaap_Investments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Investments_lbl" xml:lang="en-US">Investments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Investments_lbl" xml:lang="en-US">Investments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Investments_lbl" xml:lang="en-US">Total investments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts Receivable, Net, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts receivable, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US">Contract with Customer, Asset, Net, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US">Contract assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsCurrent" xlink:to="us-gaap_OtherAssetsCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsCurrent_lbl" xml:lang="en-US">Other Assets, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssetsCurrent_lbl" xml:lang="en-US">Other current assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OtherAssetsCurrent_lbl" xml:lang="en-US">Total other current assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Assets, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Current assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">TOTAL CURRENT ASSETS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property, Plant and Equipment, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property, plant and equipment, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US">Intangible Assets, Net (Excluding Goodwill)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US">Intangible assets, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US">Deferred Income Tax Assets, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US">Deferred taxes, net</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_OperatingLeaseRightOfUseAssetAndOtherAssets" xlink:label="agx_OperatingLeaseRightOfUseAssetAndOtherAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_OperatingLeaseRightOfUseAssetAndOtherAssets" xlink:to="agx_OperatingLeaseRightOfUseAssetAndOtherAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_OperatingLeaseRightOfUseAssetAndOtherAssets_lbl" xml:lang="en-US">The amount of lessee's right to use underlying asset under operating lease, and asset classified as other.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_OperatingLeaseRightOfUseAssetAndOtherAssets_lbl" xml:lang="en-US">Operating Lease Right Of Use Asset, and Other Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_OperatingLeaseRightOfUseAssetAndOtherAssets_lbl" xml:lang="en-US">Right-of-use and other assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">TOTAL ASSETS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">Liabilities and Equity [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">LIABILITIES AND STOCKHOLDERS' EQUITY</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">CURRENT LIABILITIES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US">Accounts Payable, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US">Accounts payable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued Liabilities, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued expenses</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Total accrued expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Contract with Customer, Liability, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Contract liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Liabilities, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Current liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">TOTAL CURRENT LIABILITIES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesNoncurrent_lbl" xml:lang="en-US">Liabilities, Noncurrent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesNoncurrent_lbl" xml:lang="en-US">Noncurrent liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US">Liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US">TOTAL LIABILITIES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">COMMITMENTS AND CONTINGENCIES (see Notes 7 and 8)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">Stockholders' Equity Attributable to Parent [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">STOCKHOLDERS' EQUITY</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US">Preferred Stock, Value, Issued</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US">Preferred stock, par value $0.10 per share - 500,000 shares authorized; no shares issued and outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Common Stock, Value, Issued</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Common stock, par value $0.15 per share - 30,000,000 shares authorized; 15,828,289 shares issued; 13,332,747 and 13,441,590 shares outstanding at October 31, 2023 and January 31, 2023, respectively</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US">Additional Paid in Capital, Common Stock</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Retained earnings</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockValue_lbl" xml:lang="en-US">Treasury Stock, Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockValue_lbl" xml:lang="en-US">Less treasury stock, at cost - 2,495,542 and 2,386,699 shares at October 31, 2023 and January 31, 2023, respectively</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Accumulated other comprehensive loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Stockholders' Equity Attributable to Parent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">TOTAL STOCKHOLDERS' EQUITY</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">Liabilities and Equity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Preferred Stock, Par or Stated Value Per Share</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Preferred stock, par value (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US">Preferred Stock, Shares Authorized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US">Preferred stock, shares authorized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xml:lang="en-US">Preferred Stock, Shares Issued</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xml:lang="en-US">Preferred stock, shares issued</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US">Preferred Stock, Shares Outstanding</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US">Preferred stock, shares outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common stock, par value (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common stock, shares authorized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common stock, shares issued</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common stock, shares outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Treasury Stock, Shares</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Treasury stock, shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xml:lang="en-US">CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityComponentDomain_lbl" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US">Additional Paid-in Capital</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xml:lang="en-US">Treasury Stock</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US">Accumulated Other Comprehensive Loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestMember" xlink:to="us-gaap_NoncontrollingInterestMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xml:lang="en-US">Non-controlling Interests</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Balances</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Balances</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Shares, Outstanding</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Balances (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Balances (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Net income</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Net income</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Gain (Loss), before Reclassification and Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax_lbl" xml:lang="en-US">Foreign currency translation loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Stock compensation expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl" xml:lang="en-US">Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl" xml:lang="en-US">Stock option exercises and restricted stock unit settlements, net of shares withheld for exercise price and withholding taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl" xml:lang="en-US">Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl" xml:lang="en-US">Stock option exercises and restricted stock unit settlements, net of shares withheld for exercise price and withholding taxes (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US">Stock Repurchased During Period, Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US">Common stock repurchases</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US">Common stock repurchased</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US">Stock Repurchased During Period, Shares</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US">Common stock repurchases (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US">Common stock repurchases (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsCommonStockCash" xlink:label="us-gaap_DividendsCommonStockCash" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsCommonStockCash" xlink:to="us-gaap_DividendsCommonStockCash_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsCommonStockCash_lbl" xml:lang="en-US">Dividends, Common Stock, Cash</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DividendsCommonStockCash_lbl" xml:lang="en-US">Cash dividends</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US">CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">CASH FLOWS FROM OPERATING ACTIVITIES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by (used in) operating activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Share-based Compensation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Stock compensation expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet" xlink:label="us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet" xlink:to="us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet_lbl" xml:lang="en-US">Increase (Decrease) in Accrued Interest Receivable, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet_lbl" xml:lang="en-US">Changes in accrued interest on investments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US">Depreciation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US">Depreciation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US">Operating Lease, Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US">Operating lease expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US">Lease expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred income tax expense (benefit)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amortization of intangibles</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amortization of intangible assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US">Income (Loss) from Equity Method Investments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US">Equity in loss (income) of solar energy investments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US">Loss of investment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNoncashIncomeExpense" xlink:to="us-gaap_OtherNoncashIncomeExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNoncashIncomeExpense_lbl" xml:lang="en-US">Other Noncash Income (Expense)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OtherNoncashIncomeExpense_lbl" xml:lang="en-US">Other</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Changes in operating assets and liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">Accounts receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Asset</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xml:lang="en-US">Contract assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xml:lang="en-US">Increase (Decrease) in Other Operating Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xml:lang="en-US">Other assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Increase (Decrease) in Accounts Payable and Accrued Liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Accounts payable and accrued expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">Contract liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Net cash provided by (used in) operating activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">CASH FLOWS FROM INVESTING ACTIVITIES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:to="us-gaap_PaymentsToAcquireHeldToMaturitySecurities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities_lbl" xml:lang="en-US">Payments to Acquire Held-to-maturity Securities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities_lbl" xml:lang="en-US">Purchases of short-term investments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities" xlink:label="us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities" xlink:to="us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities_lbl" xml:lang="en-US">Proceeds from Sale of Held-to-maturity Securities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities_lbl" xml:lang="en-US">Maturities of short-term investments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:label="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:to="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_lbl" xml:lang="en-US">Payments to Acquire Debt Securities, Available-for-Sale</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_lbl" xml:lang="en-US">Purchases of available-for-sale securities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Purchases of property, plant and equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Net cash used in investing activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">CASH FLOWS FROM FINANCING ACTIVITIES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xml:lang="en-US">Payments for Repurchase of Common Stock</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xml:lang="en-US">Common stock repurchases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="us-gaap_PaymentsOfDividendsCommonStock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividendsCommonStock" xlink:to="us-gaap_PaymentsOfDividendsCommonStock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_lbl" xml:lang="en-US">Payments of Ordinary Dividends, Common Stock</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_lbl" xml:lang="en-US">Payments of cash dividends</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US">Proceeds from Stock Options Exercised</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US">Proceeds from share-based award settlements</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Net cash used in financing activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">EFFECTS OF EXCHANGE RATE CHANGES ON CASH</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US">NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">CASH AND CASH EQUIVALENTS, END OF PERIOD</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">CASH AND CASH EQUIVALENTS, BEGINNING OF PERIOD</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:label="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:to="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract_lbl" xml:lang="en-US">Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract_lbl" xml:lang="en-US">NON-CASH INVESTING AND FINANCING ACTIVITIES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xml:lang="en-US">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xml:lang="en-US">Right-of-use assets obtained in exchange for lease obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US">Supplemental Cash Flow Information [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US">SUPPLEMENTAL CASH FLOW INFORMATION</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaid" xlink:label="us-gaap_IncomeTaxesPaid" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaid" xlink:to="us-gaap_IncomeTaxesPaid_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaid_lbl" xml:lang="en-US">Income Taxes Paid</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxesPaid_lbl" xml:lang="en-US">Cash paid for income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_OperatingLeasesPaid" xlink:label="agx_OperatingLeasesPaid" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_OperatingLeasesPaid" xlink:to="agx_OperatingLeasesPaid_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_OperatingLeasesPaid_lbl" xml:lang="en-US">Cash paid for operating leases.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_OperatingLeasesPaid_lbl" xml:lang="en-US">Operating Leases Paid</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_OperatingLeasesPaid_lbl" xml:lang="en-US">Cash paid for operating leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xml:lang="en-US">DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_lbl" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_lbl" xml:lang="en-US">DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xml:lang="en-US">REVENUES FROM CONTRACTS WITH CUSTOMERS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US">REVENUES FROM CONTRACTS WITH CUSTOMERS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="us-gaap_CashAndCashEquivalentsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAbstract_lbl" xml:lang="en-US">CASH, CASH EQUIVALENTS AND INVESTMENTS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock" xlink:label="us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock" xlink:to="us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock_lbl" xml:lang="en-US">Cash, Cash Equivalents, and Short-term Investments [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock_lbl" xml:lang="en-US">CASH, CASH EQUIVALENTS AND INVESTMENTS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_ReceivablesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesAbstract_lbl" xml:lang="en-US">ACCOUNTS RECEIVABLE</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_TradeAndOtherReceivablesDisclosureTextBlock" xlink:label="agx_TradeAndOtherReceivablesDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_TradeAndOtherReceivablesDisclosureTextBlock" xlink:to="agx_TradeAndOtherReceivablesDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_TradeAndOtherReceivablesDisclosureTextBlock_lbl" xml:lang="en-US">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.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_TradeAndOtherReceivablesDisclosureTextBlock_lbl" xml:lang="en-US">Trade And Other Receivables Disclosure Text Block</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_TradeAndOtherReceivablesDisclosureTextBlock_lbl" xml:lang="en-US">ACCOUNTS RECEIVABLE</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xml:lang="en-US">INTANGIBLE ASSETS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">Intangible Assets Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">INTANGIBLE ASSETS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureAbstract_lbl" xml:lang="en-US">FINANCING ARRANGEMENTS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US">Debt Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US">FINANCING ARRANGEMENTS</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_CommitmentDisclosureAbstract" xlink:label="agx_CommitmentDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_CommitmentDisclosureAbstract" xlink:to="agx_CommitmentDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_CommitmentDisclosureAbstract_lbl" xml:lang="en-US">No definition available.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_CommitmentDisclosureAbstract_lbl" xml:lang="en-US">COMMITMENTS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsDisclosureTextBlock" xlink:label="us-gaap_CommitmentsDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsDisclosureTextBlock" xlink:to="us-gaap_CommitmentsDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsDisclosureTextBlock_lbl" xml:lang="en-US">Commitments Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsDisclosureTextBlock_lbl" xml:lang="en-US">COMMITMENTS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xml:lang="en-US">LEGAL CONTINGENCIES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LegalMattersAndContingenciesTextBlock" xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LegalMattersAndContingenciesTextBlock" xlink:to="us-gaap_LegalMattersAndContingenciesTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock_lbl" xml:lang="en-US">Legal Matters and Contingencies [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock_lbl" xml:lang="en-US">LEGAL CONTINGENCIES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US">STOCK-BASED COMPENSATION</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">Disclosure of Compensation Related Costs, Share-based Payments [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">STOCK-BASED COMPENSATION</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US">INCOME TAXES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">INCOME TAXES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">NET INCOME PER SHARE</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_CashDividendAndTreasuryStockAbstract" xlink:label="agx_CashDividendAndTreasuryStockAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_CashDividendAndTreasuryStockAbstract" xlink:to="agx_CashDividendAndTreasuryStockAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_CashDividendAndTreasuryStockAbstract_lbl" xml:lang="en-US">No definition available.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_CashDividendAndTreasuryStockAbstract_lbl" xml:lang="en-US">CASH DIVIDENDS AND TREASURY STOCK</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_CashDividendAndTreasuryStockTextBlock" xlink:label="agx_CashDividendAndTreasuryStockTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_CashDividendAndTreasuryStockTextBlock" xlink:to="agx_CashDividendAndTreasuryStockTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_CashDividendAndTreasuryStockTextBlock_lbl" xml:lang="en-US">The entire disclosure for cash dividend and treasury stock.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_CashDividendAndTreasuryStockTextBlock_lbl" xml:lang="en-US">Cash Dividend and Treasury Stock [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_CashDividendAndTreasuryStockTextBlock_lbl" xml:lang="en-US">CASH DIVIDENDS AND TREASURY STOCK</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_RisksAndUncertaintiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RisksAndUncertaintiesAbstract_lbl" xml:lang="en-US">CUSTOMER CONCENTRATIONS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:to="us-gaap_ConcentrationRiskDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock_lbl" xml:lang="en-US">Concentration Risk Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock_lbl" xml:lang="en-US">CUSTOMER CONCENTRATIONS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingAbstract_lbl" xml:lang="en-US">SEGMENT REPORTING</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US">SEGMENT REPORTING</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_SupplementalFinancialStatementInformationAbstract" xlink:label="agx_SupplementalFinancialStatementInformationAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_SupplementalFinancialStatementInformationAbstract" xlink:to="agx_SupplementalFinancialStatementInformationAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_SupplementalFinancialStatementInformationAbstract_lbl" xml:lang="en-US">Na</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_SupplementalFinancialStatementInformationAbstract_lbl" xml:lang="en-US">SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalFinancialInformationDisclosureTextBlock" xlink:label="us-gaap_AdditionalFinancialInformationDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalFinancialInformationDisclosureTextBlock" xlink:to="us-gaap_AdditionalFinancialInformationDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalFinancialInformationDisclosureTextBlock_lbl" xml:lang="en-US">Additional Financial Information Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalFinancialInformationDisclosureTextBlock_lbl" xml:lang="en-US">SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US">Consolidation, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US">Description of the Business</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US">Basis of Accounting, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US">Basis of Presentation and Significant Accounting Policies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">Recently Issued Accounting Pronouncements</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_AvailableForSaleSecuritiesPolicyTextBlock" xlink:label="agx_AvailableForSaleSecuritiesPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_AvailableForSaleSecuritiesPolicyTextBlock" xlink:to="agx_AvailableForSaleSecuritiesPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_AvailableForSaleSecuritiesPolicyTextBlock_lbl" xml:lang="en-US">Disclosure of accounting policy for available-for-sale securities.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_AvailableForSaleSecuritiesPolicyTextBlock_lbl" xml:lang="en-US">Available-For-Sale Securities [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_AvailableForSaleSecuritiesPolicyTextBlock_lbl" xml:lang="en-US">Available-For-Sale Securities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl" xml:lang="en-US">Fair Value Measurement, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl" xml:lang="en-US">Fair Values</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_TreasuryStockPolicyTextBlock" xlink:label="agx_TreasuryStockPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_TreasuryStockPolicyTextBlock" xlink:to="agx_TreasuryStockPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_TreasuryStockPolicyTextBlock_lbl" xml:lang="en-US">Disclosure of accounting policy for treasury stock.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_TreasuryStockPolicyTextBlock_lbl" xml:lang="en-US">Treasury Stock [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_TreasuryStockPolicyTextBlock_lbl" xml:lang="en-US">Treasury Stock</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_lbl" xml:lang="en-US">Fair Value, Assets Measured on Recurring Basis [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_lbl" xml:lang="en-US">Schedule of financial instruments recorded at fair value on a recurring basis</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US">Disaggregation of Revenue [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US">Schedule of consolidated revenues disaggregated by geographical area</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentTableTextBlock" xlink:label="us-gaap_InvestmentTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentTableTextBlock" xlink:to="us-gaap_InvestmentTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentTableTextBlock_lbl" xml:lang="en-US">Investment [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentTableTextBlock_lbl" xml:lang="en-US">Investments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of Available-for-Sale Securities Reconciliation [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of available-for-sale securities</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock" xlink:label="agx_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock" xlink:to="agx_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock_lbl" xml:lang="en-US">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.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock_lbl" xml:lang="en-US">Schedule Of Finite-Lived and Indefinite-Lived Intangible Assets by Major Class [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock_lbl" xml:lang="en-US">Schedule of company's purchased intangible assets, other than goodwill</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Schedule of future minimum lease payments for the operating leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of Share-based Compensation, Stock Options, Activity [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of stock option activity under the Company's stock plans</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of Nonvested Share Activity [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of changes in the number of non-vested options to purchase shares of common stock</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xml:lang="en-US">Share-based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of actual income tax expense amounts</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">Schedule of computations of basic and diluted net income per share</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US">Schedule of operating results and financial position data of the Company's reportable business segments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock_lbl" xml:lang="en-US">Schedule of Other Current Assets [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock_lbl" xml:lang="en-US">Schedule of other current assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of Accrued Liabilities [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of accrued expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xml:lang="en-US">Fair Value, Recurring and Nonrecurring [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis_lbl" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_lbl" xml:lang="en-US">Measurement Frequency [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsRecurringMember" xlink:to="us-gaap_FairValueMeasurementsRecurringMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementsRecurringMember_lbl" xml:lang="en-US">Fair value, recurring</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel1Member" xlink:to="us-gaap_FairValueInputsLevel1Member_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel1Member_lbl" xml:lang="en-US">Level 1 Inputs</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel2Member" xlink:to="us-gaap_FairValueInputsLevel2Member_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel2Member_lbl" xml:lang="en-US">Level 2 Inputs</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_FinancialInstrumentAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancialInstrumentAxis_lbl" xml:lang="en-US">Financial Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_lbl" xml:lang="en-US">Financial Instruments [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="us-gaap_MoneyMarketFundsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MoneyMarketFundsMember" xlink:to="us-gaap_MoneyMarketFundsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MoneyMarketFundsMember_lbl" xml:lang="en-US">Money market funds</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="us-gaap_USTreasurySecuritiesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_USTreasurySecuritiesMember" xlink:to="us-gaap_USTreasurySecuritiesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_USTreasurySecuritiesMember_lbl" xml:lang="en-US">US Treasury Securities [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_USTreasurySecuritiesMember_lbl" xml:lang="en-US">U.S. Treasury notes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCorporateDebtSecuritiesMember" xlink:label="us-gaap_DomesticCorporateDebtSecuritiesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DomesticCorporateDebtSecuritiesMember" xlink:to="us-gaap_DomesticCorporateDebtSecuritiesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DomesticCorporateDebtSecuritiesMember_lbl" xml:lang="en-US">Debt Security, Corporate, US [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DomesticCorporateDebtSecuritiesMember_lbl" xml:lang="en-US">U.S. corporate debt security</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xml:lang="en-US">Fair value of assets and liabilities measured on recurring and nonrecurring basis</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:to="us-gaap_CashAndCashEquivalentsFairValueDisclosure_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure_lbl" xml:lang="en-US">Cash and Cash Equivalents, Fair Value Disclosure</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure_lbl" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities_lbl" xml:lang="en-US">Debt Securities, Available-for-Sale</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities_lbl" xml:lang="en-US">Available-for-sale-securities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities_lbl" xml:lang="en-US">Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="us-gaap_AssetsFairValueDisclosure" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsFairValueDisclosure" xlink:to="us-gaap_AssetsFairValueDisclosure_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsFairValueDisclosure_lbl" xml:lang="en-US">Assets, Fair Value Disclosure</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsFairValueDisclosure_lbl" xml:lang="en-US">Totals</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl" xml:lang="en-US">Products and Services [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductsAndServicesDomain_lbl" xml:lang="en-US">Products and Services [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_KilrootProjectMember" xlink:label="agx_KilrootProjectMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_KilrootProjectMember" xlink:to="agx_KilrootProjectMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_KilrootProjectMember_lbl" xml:lang="en-US">Represents information pertaining to kilroot project.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_KilrootProjectMember_lbl" xml:lang="en-US">Kilroot Project [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_KilrootProjectMember_lbl" xml:lang="en-US">Kilroot Project</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LegalEntityAxis_lbl" xml:lang="en-US">Legal Entity [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityDomain" xlink:to="dei_EntityDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityDomain_lbl" xml:lang="en-US">Entity [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_AtlanticProjectsCompanyLimitedMember" xlink:label="agx_AtlanticProjectsCompanyLimitedMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_AtlanticProjectsCompanyLimitedMember" xlink:to="agx_AtlanticProjectsCompanyLimitedMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_AtlanticProjectsCompanyLimitedMember_lbl" xml:lang="en-US">Information pertains to Atlantic Projects Company Limited.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_AtlanticProjectsCompanyLimitedMember_lbl" xml:lang="en-US">APC</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xml:lang="en-US">REVENUES FROM CONTRACTS WITH CUSTOMERS</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_EstimatedLoss" xlink:label="agx_EstimatedLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_EstimatedLoss" xlink:to="agx_EstimatedLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_EstimatedLoss_lbl" xml:lang="en-US">The amount of estimated loss.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_EstimatedLoss_lbl" xml:lang="en-US">Estimated Loss</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_EstimatedLoss_lbl" xml:lang="en-US">Estimated loss</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears" xlink:label="agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears" xlink:to="agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears_lbl" xml:lang="en-US">The amount of estimated loss including reversal of net gross profit recorded in previous years.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears_lbl" xml:lang="en-US">Estimated Loss, Including Reversal Of Net Gross Profit Recorded In Previous Years</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears_lbl" xml:lang="en-US">Estimated loss, including reversal of net gross profit</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ReversalOfProfitLossRecordedInPriorPeriods" xlink:label="agx_ReversalOfProfitLossRecordedInPriorPeriods" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_ReversalOfProfitLossRecordedInPriorPeriods" xlink:to="agx_ReversalOfProfitLossRecordedInPriorPeriods_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_ReversalOfProfitLossRecordedInPriorPeriods_lbl" xml:lang="en-US">Amount of profit (loss) of prior periods reversed during the period.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_ReversalOfProfitLossRecordedInPriorPeriods_lbl" xml:lang="en-US">Reversal Of Profit (Loss) Recorded In Prior Periods</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_ReversalOfProfitLossRecordedInPriorPeriods_lbl" xml:lang="en-US">Reversal of profit</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xml:lang="en-US">Contract with Customer, Liability, Revenue Recognized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xml:lang="en-US">Revenue recognized</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_RetainedAmountUnderConstructionContracts" xlink:label="agx_RetainedAmountUnderConstructionContracts" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_RetainedAmountUnderConstructionContracts" xlink:to="agx_RetainedAmountUnderConstructionContracts_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_RetainedAmountUnderConstructionContracts_lbl" xml:lang="en-US">The amounts retained by project owners under construction contracts.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_RetainedAmountUnderConstructionContracts_lbl" xml:lang="en-US">Retained Amount Under Construction Contracts</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_RetainedAmountUnderConstructionContracts_lbl" xml:lang="en-US">Retained amounts by project owners</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_NPricedChangeOrdersIncludedInTransactionPrices" xlink:label="agx_NPricedChangeOrdersIncludedInTransactionPrices" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_NPricedChangeOrdersIncludedInTransactionPrices" xlink:to="agx_NPricedChangeOrdersIncludedInTransactionPrices_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_NPricedChangeOrdersIncludedInTransactionPrices_lbl" xml:lang="en-US">Amounts of unpriced change orders included in transaction prices.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_NPricedChangeOrdersIncludedInTransactionPrices_lbl" xml:lang="en-US">N Priced Change Orders Included In Transaction Prices</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_NPricedChangeOrdersIncludedInTransactionPrices_lbl" xml:lang="en-US">Amounts of unpriced change orders included in transaction prices</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_lbl" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US">Revenue, Remaining Performance Obligation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US">Contract backlog amount</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:to="us-gaap_RevenueRemainingPerformanceObligationPercentage_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage_lbl" xml:lang="en-US">Revenue, Remaining Performance Obligation, Percentage</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage_lbl" xml:lang="en-US">Contract backlog (as percent)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" xml:lang="en-US">Performance period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTable_lbl" xml:lang="en-US">Disaggregation of Revenues [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_SegmentGeographicalDomain_lbl" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_US_lbl" xml:lang="en-US">United States</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_IE" xlink:label="country_IE" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_IE" xlink:to="country_IE_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_IE_lbl" xml:lang="en-US">Republic of Ireland</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_GB" xlink:label="country_GB" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_GB" xlink:to="country_GB_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_GB_lbl" xml:lang="en-US">United Kingdom</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US">Disaggregation of Revenues</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:to="us-gaap_ScheduleOfCashAndCashEquivalentsTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTable_lbl" xml:lang="en-US">Schedule of Cash and Cash Equivalents [Table]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTable_lbl" xml:lang="en-US">Schedule of Cash and Cash Equivalents [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InformationByCategoryOfDebtSecurityAxis" xlink:label="us-gaap_InformationByCategoryOfDebtSecurityAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InformationByCategoryOfDebtSecurityAxis" xlink:to="us-gaap_InformationByCategoryOfDebtSecurityAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InformationByCategoryOfDebtSecurityAxis_lbl" xml:lang="en-US">Debt Security Category [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain" xlink:label="us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain" xlink:to="us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain_lbl" xml:lang="en-US">Other than Temporary Impairment, Credit Losses Recognized in Earnings, Categories of Investments [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HeldtomaturitySecuritiesMember" xlink:label="us-gaap_HeldtomaturitySecuritiesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HeldtomaturitySecuritiesMember" xlink:to="us-gaap_HeldtomaturitySecuritiesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_HeldtomaturitySecuritiesMember_lbl" xml:lang="en-US">Held-to-maturity Securities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="us-gaap_CashAndCashEquivalentsLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_CashAndCashEquivalentsLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsLineItems_lbl" xml:lang="en-US">Cash and Cash Equivalents [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CashAndCashEquivalentsLineItems_lbl" xml:lang="en-US">Cash and Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_InvestmentMaturityPeriod" xlink:label="agx_InvestmentMaturityPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_InvestmentMaturityPeriod" xlink:to="agx_InvestmentMaturityPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_InvestmentMaturityPeriod_lbl" xml:lang="en-US">Represents the maturity period of investments.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_InvestmentMaturityPeriod_lbl" xml:lang="en-US">Investment Maturity Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_InvestmentMaturityPeriod_lbl" xml:lang="en-US">Maturity period</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_WeightedAverageRateDepositCertificatesOfDeposit" xlink:label="agx_WeightedAverageRateDepositCertificatesOfDeposit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_WeightedAverageRateDepositCertificatesOfDeposit" xlink:to="agx_WeightedAverageRateDepositCertificatesOfDeposit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_WeightedAverageRateDepositCertificatesOfDeposit_lbl" xml:lang="en-US">Weighted average interest rate for certificates of deposit liabilities in banking offices.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_WeightedAverageRateDepositCertificatesOfDeposit_lbl" xml:lang="en-US">Weighted Average Rate Deposit Certificates Of Deposit</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_WeightedAverageRateDepositCertificatesOfDeposit_lbl" xml:lang="en-US">Weighted average annual interest rates of CDs (as a percent)</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_AccruedInvestmentIncomeDividendReceivable" xlink:label="agx_AccruedInvestmentIncomeDividendReceivable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_AccruedInvestmentIncomeDividendReceivable" xlink:to="agx_AccruedInvestmentIncomeDividendReceivable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_AccruedInvestmentIncomeDividendReceivable_lbl" xml:lang="en-US">Dividends earned but not yet received by the entity on its investments.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_AccruedInvestmentIncomeDividendReceivable_lbl" xml:lang="en-US">Accrued Investment Income, Dividend Receivable</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_AccruedInvestmentIncomeDividendReceivable_lbl" xml:lang="en-US">Accrued dividends</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestReceivable" xlink:label="us-gaap_InterestReceivable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestReceivable" xlink:to="us-gaap_InterestReceivable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestReceivable_lbl" xml:lang="en-US">Interest Receivable</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestReceivable_lbl" xml:lang="en-US">Accrued interest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US">Range [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeMember_lbl" xml:lang="en-US">Range [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasuryNotesSecuritiesMember" xlink:label="us-gaap_USTreasuryNotesSecuritiesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_USTreasuryNotesSecuritiesMember" xlink:to="us-gaap_USTreasuryNotesSecuritiesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_USTreasuryNotesSecuritiesMember_lbl" xml:lang="en-US">US Treasury Notes Securities [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_USTreasuryNotesSecuritiesMember_lbl" xml:lang="en-US">US Treasury notes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleTerm" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTerm" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleTerm" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTerm_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTerm_lbl" xml:lang="en-US">Debt Securities, Available-for-Sale, Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTerm_lbl" xml:lang="en-US">Available-for-sale securities term</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent_lbl" xml:lang="en-US">Debt Securities, Available-for-Sale, Accrued Interest, after Allowance for Credit Loss, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent_lbl" xml:lang="en-US">Interest receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList_lbl" xml:lang="en-US">Debt Securities, Available-for-Sale, Accrued Interest, after Allowance for Credit Loss, Current, Statement of Financial Position [Extensible Enumeration]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax_lbl" xml:lang="en-US">OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment and Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax_lbl" xml:lang="en-US">Net unrealized holding losses for the Company's AFS securities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:label="us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:to="us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_lbl" xml:lang="en-US">Proceeds from Sale of Debt Securities, Available-for-Sale</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_lbl" xml:lang="en-US">Proceeds from sale of debt securities, available-for-sale</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_lbl" xml:lang="en-US">Amounts of gains or losses reclassified out of other comprehensive income</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" xlink:label="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" xlink:to="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract_lbl" xml:lang="en-US">en-US Debt Securities, Available-for-Sale, Fair Value to Amortized Cost, after Allowance for Credit Loss [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract_lbl" xml:lang="en-US">Available-for-sale securities</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo" xlink:label="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo" xlink:to="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo_lbl" xml:lang="en-US">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).</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo_lbl" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One to Two</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo_lbl" xml:lang="en-US">Amortized cost, Due in one to two years</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree" xlink:label="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree" xlink:to="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree_lbl" xml:lang="en-US">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).</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree_lbl" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year Two to Three</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree_lbl" xml:lang="en-US">Amortized Cost, Due in two to three years</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_lbl" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_lbl" xml:lang="en-US">Amortized Cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_lbl" xml:lang="en-US">Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_lbl" xml:lang="en-US">Gross Unrealized Gains</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo" xlink:to="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo_lbl" xml:lang="en-US">Amount, before tax, of unrealized gain 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).</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo_lbl" xml:lang="en-US">Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax after Year One Through Two</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo_lbl" xml:lang="en-US">Gross Unrealized Gains, Due in one to two years</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo" xlink:to="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo_lbl" xml:lang="en-US">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.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo_lbl" xml:lang="en-US">Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax after Year One Through Two</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo_lbl" xml:lang="en-US">Gross Unrealized Losses, Due in one to two years</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree" xlink:to="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree_lbl" xml:lang="en-US">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.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree_lbl" xml:lang="en-US">Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax after Year Two Through Three</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree_lbl" xml:lang="en-US">Gross Unrealized Losses, Due in two to three years</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_lbl" xml:lang="en-US">Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_lbl" xml:lang="en-US">Gross Unrealized Losses</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo" xlink:label="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo" xlink:to="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo_lbl" xml:lang="en-US">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).</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo_lbl" xml:lang="en-US">Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One to Two</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo_lbl" xml:lang="en-US">Fair value, Due in one to two years</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree" xlink:label="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree" xlink:to="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree_lbl" xml:lang="en-US">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).</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree_lbl" xml:lang="en-US">Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year Two to Three</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree_lbl" xml:lang="en-US">Fair Value, Due in two to three years</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments" xlink:label="us-gaap_ShortTermInvestments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermInvestments_lbl" xml:lang="en-US">Short-Term Investments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShortTermInvestments_lbl" xml:lang="en-US">Short-term investments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_lbl" xml:lang="en-US">Schedule of Accounts, Notes, Loans and Financing Receivable [Table]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_lbl" xml:lang="en-US">Schedule of Accounts, Notes, Loans and Financing Receivable [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_AccountsNotesAndLoansReceivableLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems_lbl" xml:lang="en-US">Accounts, Notes, Loans and Financing Receivable [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems_lbl" xml:lang="en-US">ACCOUNTS AND NOTES RECEIVABLE</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForNotesAndLoansReceivableCurrent" xlink:label="us-gaap_AllowanceForNotesAndLoansReceivableCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForNotesAndLoansReceivableCurrent" xlink:to="us-gaap_AllowanceForNotesAndLoansReceivableCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForNotesAndLoansReceivableCurrent_lbl" xml:lang="en-US">Financing Receivable, Allowance for Credit Loss, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForNotesAndLoansReceivableCurrent_lbl" xml:lang="en-US">Allowance for uncollectible accounts</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeNamesMember" xlink:to="us-gaap_TradeNamesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradeNamesMember_lbl" xml:lang="en-US">Trade Name</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xml:lang="en-US">Customer relationships</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US">Finite-Lived Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US">Finite-Lived Intangible Asset, Useful Life</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US">Estimated Useful Life (in years)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US">Gross Amounts</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Net Amounts</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionAxis_lbl" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_lbl" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_RobertsCompanyIncMember" xlink:label="agx_RobertsCompanyIncMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_RobertsCompanyIncMember" xlink:to="agx_RobertsCompanyIncMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_RobertsCompanyIncMember_lbl" xml:lang="en-US">The Roberts Company Inc.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_RobertsCompanyIncMember_lbl" xml:lang="en-US">TRC.</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_GemmaPowerSystemLlcMember" xlink:label="agx_GemmaPowerSystemLlcMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_GemmaPowerSystemLlcMember" xlink:to="agx_GemmaPowerSystemLlcMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_GemmaPowerSystemLlcMember_lbl" xml:lang="en-US">The Gemma Power System, LLC.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_GemmaPowerSystemLlcMember_lbl" xml:lang="en-US">GPS.</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract" xlink:label="us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract" xlink:to="us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract_lbl" xml:lang="en-US">Intangible Assets, Net (Including Goodwill) [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract_lbl" xml:lang="en-US">Indefinite-Lived Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">2024</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Two</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">2025</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Three</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US">2026</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Four</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US">2027</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Five</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US">2028</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, after Year Five</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xml:lang="en-US">Thereafter</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_LineOfCreditFacilityTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityTable_lbl" xml:lang="en-US">Line of Credit Facility [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityAxis_lbl" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_CreditFacilityDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityDomain_lbl" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditMember" xlink:to="us-gaap_LineOfCreditMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditMember_lbl" xml:lang="en-US">Line of Credit [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevolvingCreditFacilityMember" xlink:to="us-gaap_RevolvingCreditFacilityMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xml:lang="en-US">Revolving Credit Facility</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LetterOfCreditMember" xlink:label="us-gaap_LetterOfCreditMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LetterOfCreditMember" xlink:to="us-gaap_LetterOfCreditMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LetterOfCreditMember_lbl" xml:lang="en-US">Letter of Credit</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_StatementScenarioAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementScenarioAxis_lbl" xml:lang="en-US">Scenario [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioUnspecifiedDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScenarioUnspecifiedDomain_lbl" xml:lang="en-US">Scenario, Unspecified [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_LettersOfCreditExpireOnMay312024Member" xlink:label="agx_LettersOfCreditExpireOnMay312024Member" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_LettersOfCreditExpireOnMay312024Member" xlink:to="agx_LettersOfCreditExpireOnMay312024Member_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_LettersOfCreditExpireOnMay312024Member_lbl" xml:lang="en-US">Represents information pertaining to letters of credit expire on May 31, 2024.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_LettersOfCreditExpireOnMay312024Member_lbl" xml:lang="en-US">Expires on May 31, 2024</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableRateAxis_lbl" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_VariableRateDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableRateDomain_lbl" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:to="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_lbl" xml:lang="en-US">Secured Overnight Financing Rate (SOFR)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityLineItems_lbl" xml:lang="en-US">Line of Credit Facility [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityLineItems_lbl" xml:lang="en-US">Financing Arrangements</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Borrowing available under financing arrangements</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xml:lang="en-US">Debt Instrument, Basis Spread on Variable Rate</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xml:lang="en-US">Interest rate margin on referred rate</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xml:lang="en-US">Interest rate margin on referred rate</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity" xlink:label="agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity" xlink:to="agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity_lbl" xml:lang="en-US">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.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity_lbl" xml:lang="en-US">Line of Credit Facility Contingent Increase, Additional Borrowing Capacity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity_lbl" xml:lang="en-US">Additional commitment amount</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LettersOfCreditOutstandingAmount" xlink:label="us-gaap_LettersOfCreditOutstandingAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LettersOfCreditOutstandingAmount" xlink:to="us-gaap_LettersOfCreditOutstandingAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LettersOfCreditOutstandingAmount_lbl" xml:lang="en-US">Letters of Credit Outstanding, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LettersOfCreditOutstandingAmount_lbl" xml:lang="en-US">Letters of credit outstanding amount</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_GemmaPowerSystemsMember" xlink:label="agx_GemmaPowerSystemsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_GemmaPowerSystemsMember" xlink:to="agx_GemmaPowerSystemsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_GemmaPowerSystemsMember_lbl" xml:lang="en-US">Gemma power systems.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_GemmaPowerSystemsMember_lbl" xml:lang="en-US">GPS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis" xlink:to="us-gaap_GuaranteeObligationsByNatureAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis_lbl" xml:lang="en-US">Guarantor Obligations, Nature [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="us-gaap_GuaranteeObligationsNatureDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GuaranteeObligationsNatureDomain_lbl" xml:lang="en-US">Guarantor Obligations, Nature [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialGuaranteeMember" xlink:label="us-gaap_FinancialGuaranteeMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancialGuaranteeMember" xlink:to="us-gaap_FinancialGuaranteeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancialGuaranteeMember_lbl" xml:lang="en-US">Financial guarantee</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend" xlink:label="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend" xlink:to="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend_lbl" xml:lang="en-US">Lessee, Operating Lease, Existence of Option to Extend [true false]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend_lbl" xml:lang="en-US">Operating leases, options to extend</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate" xlink:label="us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate" xlink:to="us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate_lbl" xml:lang="en-US">Lessee, Operating Lease, Existence of Option to Terminate [true false]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate_lbl" xml:lang="en-US">Operating leases, options to terminate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">Operating lease, right-of-use assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US">Weighted average lease term</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US">Weighted average discount rate</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ShortTermRentalAgreementsExpense" xlink:label="agx_ShortTermRentalAgreementsExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_ShortTermRentalAgreementsExpense" xlink:to="agx_ShortTermRentalAgreementsExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_ShortTermRentalAgreementsExpense_lbl" xml:lang="en-US">The amount short-term rental agreements expenses.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_ShortTermRentalAgreementsExpense_lbl" xml:lang="en-US">Short Term Rental Agreements Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_ShortTermRentalAgreementsExpense_lbl" xml:lang="en-US">Short-term rentals expense</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_RemainingBondedPerformanceObligations" xlink:label="agx_RemainingBondedPerformanceObligations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_RemainingBondedPerformanceObligations" xlink:to="agx_RemainingBondedPerformanceObligations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_RemainingBondedPerformanceObligations_lbl" xml:lang="en-US">Represents information pertaining to remaining bonded performance obligations.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_RemainingBondedPerformanceObligations_lbl" xml:lang="en-US">Remaining Bonded Performance Obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_RemainingBondedPerformanceObligations_lbl" xml:lang="en-US">Unsatisfied bonded performance obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsMaximumExposure" xlink:label="us-gaap_GuaranteeObligationsMaximumExposure" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GuaranteeObligationsMaximumExposure" xlink:to="us-gaap_GuaranteeObligationsMaximumExposure_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GuaranteeObligationsMaximumExposure_lbl" xml:lang="en-US">Guarantor Obligations, Maximum Exposure, Undiscounted</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GuaranteeObligationsMaximumExposure_lbl" xml:lang="en-US">Guarantor obligation maximum exposure</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US">Operating Lease Liabilities, Payments Due [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US">Operating Leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xml:lang="en-US">2024 (remainder)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">Operating Leases, Future Minimum Payments Due, Next Twelve Months</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">2025</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Two</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">2026</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Three</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">2027</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Four</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US">2028</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:label="agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:to="agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_lbl" xml:lang="en-US">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).</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, after Year Four</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_lbl" xml:lang="en-US">Thereafter</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Total lease payments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US">Less imputed interest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Present value of lease payments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Less current portion (included in accrued expenses)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_lbl" xml:lang="en-US">Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_lbl" xml:lang="en-US">Less current portion (included in accrued expenses)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Non-current portion (included in noncurrent liabilities)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_lbl" xml:lang="en-US">Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_lbl" xml:lang="en-US">Non-current portion (included in noncurrent liabilities)</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_WarrantyPeriodForConstructionContracts" xlink:label="agx_WarrantyPeriodForConstructionContracts" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_WarrantyPeriodForConstructionContracts" xlink:to="agx_WarrantyPeriodForConstructionContracts_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_WarrantyPeriodForConstructionContracts_lbl" xml:lang="en-US">Represents the information pertaining to warranty provisions covering defects in equipment, materials etc.. after the completion of construction.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_WarrantyPeriodForConstructionContracts_lbl" xml:lang="en-US">Warranty Period for Construction Contracts</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_WarrantyPeriodForConstructionContracts_lbl" xml:lang="en-US">Warranty period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Shares, Outstanding, Ending balance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Shares, Outstanding, Beginning balance</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xml:lang="en-US">Shares, Granted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Shares, Exercised</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" xml:lang="en-US">Shares, Forfeited</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Shares, Exercisable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Per Share, Outstanding, Ending balance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Per Share, Outstanding, Beginning balance</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Per Share, Granted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Per Share, Exercised</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Per Share, Forfeited</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Per Share, Exercisable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted Average Remaining Term (Years), Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Weighted Average Remaining Term (Years), Exercisable</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue" xlink:to="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share based compensation arrangement by share based payment award equity instruments stock option outstanding weighted average grant date fair value.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Stock Option Outstanding Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value Per Share, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue" xlink:to="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share based compensation arrangement by share based payment award equity instruments stock option exercisable weighted average grant date fair value.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Stock Option Exercisable Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value Per Share, Exercisable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Number of Shares</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_lbl" xml:lang="en-US">Shares, Non-vested, Ending balance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_lbl" xml:lang="en-US">Shares, Non-vested, Beginning balance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_lbl" xml:lang="en-US">Shares, Non-vested</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Number of Shares</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_lbl" xml:lang="en-US">Shares, Vested</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested Options Forfeited, Number of Shares</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_lbl" xml:lang="en-US">Shares, Forfeitures</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value Per Share, Non-vested, Ending balance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value Per Share, Non-vested, Beginning balance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value Per Share, Non-vested</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value Per Share, Granted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value Per Share, Vested</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested Options Forfeited, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value Per Share, Forfeitures</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US">Restricted Stock Units</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xml:lang="en-US">Shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US">Outstanding, Ending balance (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US">Outstanding, Beginning balance (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US">Outstanding (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US">Awarded (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xml:lang="en-US">Issued (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xml:lang="en-US">Forfeited (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Outstanding, Ending balance Fair value (Per share)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Outstanding, Beginning balance Fair value (Per share)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Outstanding, Fair value (per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Awarded, Fair value (Per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue" xlink:to="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">The weighted average fair value at grant date of equity instruments other than options issued during the period.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Issued in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Issued, Fair value (Per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Forfeited, Fair value (Per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualAxis_lbl" xml:lang="en-US">Title of Individual [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" xml:lang="en-US">Title of Individual [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ExecutiveOfficerMember" xlink:to="srt_ExecutiveOfficerMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ExecutiveOfficerMember_lbl" xml:lang="en-US">Senior executives</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_PerformanceBasedRestrictedStockUnitsMember" xlink:label="agx_PerformanceBasedRestrictedStockUnitsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_PerformanceBasedRestrictedStockUnitsMember" xlink:to="agx_PerformanceBasedRestrictedStockUnitsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_PerformanceBasedRestrictedStockUnitsMember_lbl" xml:lang="en-US">Represents information pertaining to performance-based restricted stock units.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_PerformanceBasedRestrictedStockUnitsMember_lbl" xml:lang="en-US">Performance-based restricted stock units</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember" xlink:label="agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember" xlink:to="agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember_lbl" xml:lang="en-US">Represents information pertaining to earnings per share performance-based restricted stock units.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember_lbl" xml:lang="en-US">Earnings Per Share Performance Based Restricted Stock Units [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember_lbl" xml:lang="en-US">Earnings per share performance-based restricted stock units</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_IncentiveStockOptionsMember" xlink:label="agx_IncentiveStockOptionsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_IncentiveStockOptionsMember" xlink:to="agx_IncentiveStockOptionsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_IncentiveStockOptionsMember_lbl" xml:lang="en-US">Represents Incentive Stock Options.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_IncentiveStockOptionsMember_lbl" xml:lang="en-US">ISOs/NSOs</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_RenewablePerformanceBasedRestrictedStockUnitsMember" xlink:label="agx_RenewablePerformanceBasedRestrictedStockUnitsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_RenewablePerformanceBasedRestrictedStockUnitsMember" xlink:to="agx_RenewablePerformanceBasedRestrictedStockUnitsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_RenewablePerformanceBasedRestrictedStockUnitsMember_lbl" xml:lang="en-US">Represents the information pertaining to Renewable Performance Based Restricted Stock Units.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_RenewablePerformanceBasedRestrictedStockUnitsMember_lbl" xml:lang="en-US">Renewable Performance-Based Restricted Stock Units</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_TimeBasedRestrictedStockUnitsMember" xlink:label="agx_TimeBasedRestrictedStockUnitsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_TimeBasedRestrictedStockUnitsMember" xlink:to="agx_TimeBasedRestrictedStockUnitsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_TimeBasedRestrictedStockUnitsMember_lbl" xml:lang="en-US">Represents the information pertaining to Time based  Restricted Stock Units.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_TimeBasedRestrictedStockUnitsMember_lbl" xml:lang="en-US">Time Based Restricted Stock Units</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameAxis_lbl" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameDomain_lbl" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_StockPlanMember" xlink:label="agx_StockPlanMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_StockPlanMember" xlink:to="agx_StockPlanMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_StockPlanMember_lbl" xml:lang="en-US">n/a</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_StockPlanMember_lbl" xml:lang="en-US">Stock Plan [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_StockPlanMember_lbl" xml:lang="en-US">Stock Plan</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_Plan2020Member" xlink:label="agx_Plan2020Member" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_Plan2020Member" xlink:to="agx_Plan2020Member_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_Plan2020Member_lbl" xml:lang="en-US">Represents information pertaining to the 2020 plan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_Plan2020Member_lbl" xml:lang="en-US">2020 Plan</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xml:lang="en-US">Incentive stock option award maximum expiration period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xml:lang="en-US">Initial vesting percentage</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US">Period to become exercisable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xml:lang="en-US">Common stock allocated for issuance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xml:lang="en-US">Number of shares of common stock reserved for issuance</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xml:lang="en-US">Number of shares of common stock available for award</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod" xlink:label="agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod" xlink:to="agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod_lbl" xml:lang="en-US">Represents the number of shares issuable under restricted stock units awarded during the period.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod_lbl" xml:lang="en-US">The Number Of Shares Issuable Under Restricted Stock Units Awarded During The Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod_lbl" xml:lang="en-US">The number of shares issuable under restricted stock units awarded during the period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsShares" xlink:label="us-gaap_CommonStockDividendsShares" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockDividendsShares" xlink:to="us-gaap_CommonStockDividendsShares_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockDividendsShares_lbl" xml:lang="en-US">Common Stock Dividends, Shares</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockDividendsShares_lbl" xml:lang="en-US">Cash dividends deemed paid on shares</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_PercentageReductionInAggregateFairValueOfStockOption" xlink:label="agx_PercentageReductionInAggregateFairValueOfStockOption" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_PercentageReductionInAggregateFairValueOfStockOption" xlink:to="agx_PercentageReductionInAggregateFairValueOfStockOption_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_PercentageReductionInAggregateFairValueOfStockOption_lbl" xml:lang="en-US">Represents the percentage reduction in the aggregate fair value of stock option</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_PercentageReductionInAggregateFairValueOfStockOption_lbl" xml:lang="en-US">Percentage Reduction In The Aggregate Fair Value Of Stock Option</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded" xlink:label="agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded" xlink:to="agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded_lbl" xml:lang="en-US">Represents the percentage of the maximum shares for the target number of shares awarded.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded_lbl" xml:lang="en-US">Percentage Of Maximum shares For The Target Number Of Shares Awarded</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded_lbl" xml:lang="en-US">Percentage of the maximum shares for the target number of shares awarded</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US">Unrecognized compensation cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US">Compensation expense recognize, period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US">Intrinsic value of the stock options exercised</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US">Intrinsic value of outstanding stock options</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xml:lang="en-US">Intrinsic value of exercisable stock options</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices" xlink:to="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices_lbl" xml:lang="en-US">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.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices_lbl" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate Period For Monthly Closing Prices</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices_lbl" xml:lang="en-US">Period used for calculations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">Federal corporate income tax rate (as percent)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">Computed expected income tax expense</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_UnrecognizedTaxLossBenefit" xlink:label="agx_UnrecognizedTaxLossBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_UnrecognizedTaxLossBenefit" xlink:to="agx_UnrecognizedTaxLossBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_UnrecognizedTaxLossBenefit_lbl" xml:lang="en-US">The amount of unrecognized tax loss benefit.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_UnrecognizedTaxLossBenefit_lbl" xml:lang="en-US">Unrecognized tax loss benefit</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="agx_UnrecognizedTaxLossBenefit_lbl" xml:lang="en-US">Unrecognized tax loss benefit</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">State income taxes, net of federal tax effect</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:to="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US">Foreign tax rate differential</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount" xlink:label="agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount" xlink:to="agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount_lbl" xml:lang="en-US">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.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Excess Executive Compensation, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount_lbl" xml:lang="en-US">Excess executive compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Meals and Entertainment, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment_lbl" xml:lang="en-US">Meals and entertainment expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Research and Development, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment_lbl" xml:lang="en-US">Research and development credits adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Other, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther_lbl" xml:lang="en-US">Other permanent differences and adjustments, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentForeignTaxExpenseBenefit" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit_lbl" xml:lang="en-US">Current Foreign Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit_lbl" xml:lang="en-US">Foreign income tax expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="us-gaap_OperatingLossCarryforwardsTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwardsTable" xlink:to="us-gaap_OperatingLossCarryforwardsTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwardsTable_lbl" xml:lang="en-US">Operating Loss Carryforwards [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="us-gaap_OperatingLossCarryforwardsLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwardsLineItems" xlink:to="us-gaap_OperatingLossCarryforwardsLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwardsLineItems_lbl" xml:lang="en-US">Operating Loss Carryforwards [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_IncreaseInLossCarrybackPeriodForCertainLosses" xlink:label="agx_IncreaseInLossCarrybackPeriodForCertainLosses" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_IncreaseInLossCarrybackPeriodForCertainLosses" xlink:to="agx_IncreaseInLossCarrybackPeriodForCertainLosses_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_IncreaseInLossCarrybackPeriodForCertainLosses_lbl" xml:lang="en-US">Represents the increase in loss carryback period for certain losses.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_IncreaseInLossCarrybackPeriodForCertainLosses_lbl" xml:lang="en-US">Increase In Loss Carryback Period For Certain Losses</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_IncreaseInLossCarrybackPeriodForCertainLosses_lbl" xml:lang="en-US">Increase in loss carryback period for certain losses</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DomesticNetOperatingLossCarryback" xlink:label="agx_DomesticNetOperatingLossCarryback" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_DomesticNetOperatingLossCarryback" xlink:to="agx_DomesticNetOperatingLossCarryback_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_DomesticNetOperatingLossCarryback_lbl" xml:lang="en-US">Amount of domestic net operating loss carryback.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_DomesticNetOperatingLossCarryback_lbl" xml:lang="en-US">Domestic Net Operating Loss Carryback</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_DomesticNetOperatingLossCarryback_lbl" xml:lang="en-US">Domestic net operating loss carryback</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndOtherTaxReceivableCurrent" xlink:label="us-gaap_DeferredIncomeTaxesAndOtherTaxReceivableCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxesAndOtherTaxReceivableCurrent" xlink:to="us-gaap_DeferredIncomeTaxesAndOtherTaxReceivableCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxesAndOtherTaxReceivableCurrent_lbl" xml:lang="en-US">Deferred Income Taxes and Other Tax Receivable, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxesAndOtherTaxReceivableCurrent_lbl" xml:lang="en-US">Income tax receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationTaxCreditsResearch" xlink:label="us-gaap_IncomeTaxReconciliationTaxCreditsResearch" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationTaxCreditsResearch" xlink:to="us-gaap_IncomeTaxReconciliationTaxCreditsResearch_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationTaxCreditsResearch_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxReconciliationTaxCreditsResearch_lbl" xml:lang="en-US">Federal research and development tax credits</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit" xlink:label="agx_Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit" xlink:to="agx_Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit_lbl" xml:lang="en-US">Amount of increase in unrecognized tax benefits
 resulting from research and development tax credit.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit_lbl" xml:lang="en-US">UnrecognizedTaxBenefitsIncreaseResultingFromResearchAndDevelopmentTaxCredit</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit_lbl" xml:lang="en-US">Development tax credit</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_IncomeTaxRefundsAndPrepaidIncomeTaxes" xlink:label="agx_IncomeTaxRefundsAndPrepaidIncomeTaxes" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_IncomeTaxRefundsAndPrepaidIncomeTaxes" xlink:to="agx_IncomeTaxRefundsAndPrepaidIncomeTaxes_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_IncomeTaxRefundsAndPrepaidIncomeTaxes_lbl" xml:lang="en-US">Amount of income tax refunds and prepaid income taxes .</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_IncomeTaxRefundsAndPrepaidIncomeTaxes_lbl" xml:lang="en-US">Income Tax Refunds And Prepaid Income Taxes</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_IncomeTaxRefundsAndPrepaidIncomeTaxes_lbl" xml:lang="en-US">Income tax refunds and prepaid income taxes</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="agx_IncomeTaxRefundsAndPrepaidIncomeTaxes_lbl" xml:lang="en-US">Income tax refunds receivable and prepaid income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable" xlink:label="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable" xlink:to="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable_lbl" xml:lang="en-US">Investment Income [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementLocationDomain_lbl" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseMember_lbl" xml:lang="en-US">Other income (expense)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems" xlink:label="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems" xlink:to="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems_lbl" xml:lang="en-US">Net Investment Income [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestments_lbl" xml:lang="en-US">Equity Method Investments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestments_lbl" xml:lang="en-US">Investment account balances</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_CashInvestmentCommitments" xlink:label="agx_CashInvestmentCommitments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_CashInvestmentCommitments" xlink:to="agx_CashInvestmentCommitments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_CashInvestmentCommitments_lbl" xml:lang="en-US">Amount of cash investment commitments.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_CashInvestmentCommitments_lbl" xml:lang="en-US">Cash Investment Commitments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_CashInvestmentCommitments_lbl" xml:lang="en-US">Remaining cash investment commitments</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_InvestmentsTerm" xlink:label="agx_InvestmentsTerm" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_InvestmentsTerm" xlink:to="agx_InvestmentsTerm_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_InvestmentsTerm_lbl" xml:lang="en-US">Term of investment, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_InvestmentsTerm_lbl" xml:lang="en-US">Investments, Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_InvestmentsTerm_lbl" xml:lang="en-US">Expected life of investment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTable" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTable" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTable_lbl" xml:lang="en-US">Schedule of Earnings Per Share, Basic, by Common Class, Including Two Class Method [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicLineItems" xlink:label="us-gaap_EarningsPerShareBasicLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasicLineItems" xlink:to="us-gaap_EarningsPerShareBasicLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasicLineItems_lbl" xml:lang="en-US">Earnings Per Share, Basic, by Common Class, Including Two Class Method [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareBasicLineItems_lbl" xml:lang="en-US">NET INCOME PER SHARE</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US">Effects of stock awards</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US">Anti-dilutive common stock equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US">Antidilutive common stock</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_PercentageIncreaseInCommonStockDividendPerShare" xlink:label="agx_PercentageIncreaseInCommonStockDividendPerShare" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_PercentageIncreaseInCommonStockDividendPerShare" xlink:to="agx_PercentageIncreaseInCommonStockDividendPerShare_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_PercentageIncreaseInCommonStockDividendPerShare_lbl" xml:lang="en-US">The percentage increase in common stock dividend per share.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_PercentageIncreaseInCommonStockDividendPerShare_lbl" xml:lang="en-US">Percentage Increase In Common Stock Dividend Per Share</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_PercentageIncreaseInCommonStockDividendPerShare_lbl" xml:lang="en-US">Percentage increase in common stock dividend</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharePrice" xlink:to="us-gaap_SharePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharePrice_lbl" xml:lang="en-US">Share Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharePrice_lbl" xml:lang="en-US">Share price</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US">Shares paid for tax withholding for share based compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation" xlink:label="agx_ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation" xlink:to="agx_ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation_lbl" xml:lang="en-US">Average price of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Average Price Per Share Of Shares Withheld for Tax Withholding Obligation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation_lbl" xml:lang="en-US">Share-based payment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsPerShareCashPaid" xlink:label="us-gaap_CommonStockDividendsPerShareCashPaid" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockDividendsPerShareCashPaid" xlink:to="us-gaap_CommonStockDividendsPerShareCashPaid_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockDividendsPerShareCashPaid_lbl" xml:lang="en-US">Common Stock, Dividends, Per Share, Cash Paid</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockDividendsPerShareCashPaid_lbl" xml:lang="en-US">Regular cash dividend paid per common stock</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards" xlink:label="agx_TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards" xlink:to="agx_TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards_lbl" xml:lang="en-US">Number of treasury stock used to settle stock option exercises and other stock share based awards.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards_lbl" xml:lang="en-US">Treasury Stock, Settlement of Stock Option Exercises and Other Share Based Awards</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards_lbl" xml:lang="en-US">Treasury stock to settle stock option exercises and other share-based awards</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTable_lbl" xml:lang="en-US">Concentration Risk [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_PowerIndustryServicesMember" xlink:label="agx_PowerIndustryServicesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_PowerIndustryServicesMember" xlink:to="agx_PowerIndustryServicesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_PowerIndustryServicesMember_lbl" xml:lang="en-US">Power industry services.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_PowerIndustryServicesMember_lbl" xml:lang="en-US">Power Industry Services</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_IndustrialConstructionServicesMember" xlink:label="agx_IndustrialConstructionServicesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_IndustrialConstructionServicesMember" xlink:to="agx_IndustrialConstructionServicesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_IndustrialConstructionServicesMember_lbl" xml:lang="en-US">Represents information pertaining to industrial construction services.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_IndustrialConstructionServicesMember_lbl" xml:lang="en-US">Industrial Construction Services [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_IndustrialConstructionServicesMember_lbl" xml:lang="en-US">Industrial Construction Services</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductConcentrationRiskMember" xlink:label="us-gaap_ProductConcentrationRiskMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductConcentrationRiskMember" xlink:to="us-gaap_ProductConcentrationRiskMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductConcentrationRiskMember_lbl" xml:lang="en-US">Product Concentration Risk</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US">Customer Concentration Risk</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US">Customer [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xml:lang="en-US">Customer [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_MajorCustomerOneMember" xlink:label="agx_MajorCustomerOneMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_MajorCustomerOneMember" xlink:to="agx_MajorCustomerOneMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_MajorCustomerOneMember_lbl" xml:lang="en-US">Major customer one.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_MajorCustomerOneMember_lbl" xml:lang="en-US">Major Customer One</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_MajorCustomerTwoMember" xlink:label="agx_MajorCustomerTwoMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_MajorCustomerTwoMember" xlink:to="agx_MajorCustomerTwoMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_MajorCustomerTwoMember_lbl" xml:lang="en-US">Major customer two.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_MajorCustomerTwoMember_lbl" xml:lang="en-US">Major Customer Two</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_MajorCustomerThreeMember" xlink:label="agx_MajorCustomerThreeMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_MajorCustomerThreeMember" xlink:to="agx_MajorCustomerThreeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_MajorCustomerThreeMember_lbl" xml:lang="en-US">Major customer three.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_MajorCustomerThreeMember_lbl" xml:lang="en-US">Major Customer Three</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_MajorCustomerFourMember" xlink:label="agx_MajorCustomerFourMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_MajorCustomerFourMember" xlink:to="agx_MajorCustomerFourMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_MajorCustomerFourMember_lbl" xml:lang="en-US">Major customer four.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_MajorCustomerFourMember_lbl" xml:lang="en-US">Major Customer Four</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US">Revenue</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US">Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsTotalMember" xlink:label="us-gaap_AssetsTotalMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsTotalMember" xlink:to="us-gaap_AssetsTotalMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsTotalMember_lbl" xml:lang="en-US">Contract Asset</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xml:lang="en-US">Concentration Risk [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xml:lang="en-US">Customer Concentrations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Concentration Risk, Percentage</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Percentage of major customers or segments</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_NumberOfMajorCustomers" xlink:label="agx_NumberOfMajorCustomers" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_NumberOfMajorCustomers" xlink:to="agx_NumberOfMajorCustomers_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_NumberOfMajorCustomers_lbl" xml:lang="en-US">Number of major customers.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_NumberOfMajorCustomers_lbl" xml:lang="en-US">Number Of Major Customers</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_NumberOfMajorCustomers_lbl" xml:lang="en-US">Number of customers</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementBusinessSegmentsAxis_lbl" xml:lang="en-US">Segments [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentDomain" xlink:to="us-gaap_SegmentDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentDomain_lbl" xml:lang="en-US">Segments [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_TelecommunicationsInfrastructureServicesMember" xlink:label="agx_TelecommunicationsInfrastructureServicesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_TelecommunicationsInfrastructureServicesMember" xlink:to="agx_TelecommunicationsInfrastructureServicesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_TelecommunicationsInfrastructureServicesMember_lbl" xml:lang="en-US">Telecommunications infrastructure services.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_TelecommunicationsInfrastructureServicesMember_lbl" xml:lang="en-US">Telecommunications Infrastructure Services</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidationItemsAxis_lbl" xml:lang="en-US">Consolidation Items [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ConsolidationItemsDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidationItemsDomain_lbl" xml:lang="en-US">Consolidation Items [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingSegmentsMember" xlink:to="us-gaap_OperatingSegmentsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingSegmentsMember_lbl" xml:lang="en-US">Operating Segments [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingSegmentsMember_lbl" xml:lang="en-US">Operating Segments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateNonSegmentMember" xlink:label="us-gaap_CorporateNonSegmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CorporateNonSegmentMember" xlink:to="us-gaap_CorporateNonSegmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CorporateNonSegmentMember_lbl" xml:lang="en-US">Other</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US">Segment Reporting Information [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US">Segment Reporting Information</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfOperatingSegments_lbl" xml:lang="en-US">Number of Operating Segments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NumberOfOperatingSegments_lbl" xml:lang="en-US">Operating segment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:label="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:to="us-gaap_SegmentExpenditureAdditionToLongLivedAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentExpenditureAdditionToLongLivedAssets_lbl" xml:lang="en-US">Segment, Expenditure, Addition to Long-Lived Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentExpenditureAdditionToLongLivedAssets_lbl" xml:lang="en-US">Property, plant and equipment additions</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials" xlink:label="us-gaap_InventoryRawMaterials" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterials" xlink:to="us-gaap_InventoryRawMaterials_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterials_lbl" xml:lang="en-US">Inventory, Raw Materials, Gross</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryRawMaterials_lbl" xml:lang="en-US">Raw materials inventory</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="us-gaap_PrepaidExpenseCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseCurrent" xlink:to="us-gaap_PrepaidExpenseCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseCurrent_lbl" xml:lang="en-US">Prepaid Expense, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PrepaidExpenseCurrent_lbl" xml:lang="en-US">Prepaid expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMiscellaneousCurrent" xlink:label="us-gaap_OtherAssetsMiscellaneousCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsMiscellaneousCurrent" xlink:to="us-gaap_OtherAssetsMiscellaneousCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsMiscellaneousCurrent_lbl" xml:lang="en-US">Other Assets, Miscellaneous, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssetsMiscellaneousCurrent_lbl" xml:lang="en-US">Other</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_AccruedProjectCostsCurrent" xlink:label="agx_AccruedProjectCostsCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_AccruedProjectCostsCurrent" xlink:to="agx_AccruedProjectCostsCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_AccruedProjectCostsCurrent_lbl" xml:lang="en-US">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).</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_AccruedProjectCostsCurrent_lbl" xml:lang="en-US">Accrued Project Costs, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_AccruedProjectCostsCurrent_lbl" xml:lang="en-US">Accrued project costs</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent_lbl" xml:lang="en-US">Accrued Employee Benefits, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent_lbl" xml:lang="en-US">Accrued compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_AccruedLeaseLiabilitiesCurrent" xlink:label="agx_AccruedLeaseLiabilitiesCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_AccruedLeaseLiabilitiesCurrent" xlink:to="agx_AccruedLeaseLiabilitiesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_AccruedLeaseLiabilitiesCurrent_lbl" xml:lang="en-US">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).</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_AccruedLeaseLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued Lease Liabilities, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="agx_AccruedLeaseLiabilitiesCurrent_lbl" xml:lang="en-US">Lease liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Other Accrued Liabilities, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Other</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemTable" xlink:label="us-gaap_UnusualOrInfrequentItemTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnusualOrInfrequentItemTable" xlink:to="us-gaap_UnusualOrInfrequentItemTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnusualOrInfrequentItemTable_lbl" xml:lang="en-US">Unusual or Infrequent Item, or Both [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemAxis" xlink:label="us-gaap_UnusualOrInfrequentItemAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnusualOrInfrequentItemAxis" xlink:to="us-gaap_UnusualOrInfrequentItemAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnusualOrInfrequentItemAxis_lbl" xml:lang="en-US">Unusual or Infrequent Item, or Both [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemDomain" xlink:label="us-gaap_UnusualOrInfrequentItemDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnusualOrInfrequentItemDomain" xlink:to="us-gaap_UnusualOrInfrequentItemDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnusualOrInfrequentItemDomain_lbl" xml:lang="en-US">Unusual or Infrequent Item, or Both [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_FraudulentlyInducedPaymentMember" xlink:label="agx_FraudulentlyInducedPaymentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="agx_FraudulentlyInducedPaymentMember" xlink:to="agx_FraudulentlyInducedPaymentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="agx_FraudulentlyInducedPaymentMember_lbl" xml:lang="en-US">Represents information relating to fraudulently induced outbound wire transfer to third party  of complex criminal scheme.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="agx_FraudulentlyInducedPaymentMember_lbl" xml:lang="en-US">Fraudulently Induced Payment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemLineItems" xlink:label="us-gaap_UnusualOrInfrequentItemLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnusualOrInfrequentItemLineItems" xlink:to="us-gaap_UnusualOrInfrequentItemLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnusualOrInfrequentItemLineItems_lbl" xml:lang="en-US">Unusual or Infrequent Item, or Both [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnusualOrInfrequentItemLineItems_lbl" xml:lang="en-US">SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemNetGainLoss" xlink:label="us-gaap_UnusualOrInfrequentItemNetGainLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnusualOrInfrequentItemNetGainLoss" xlink:to="us-gaap_UnusualOrInfrequentItemNetGainLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnusualOrInfrequentItemNetGainLoss_lbl" xml:lang="en-US">Unusual or Infrequent Item, or Both, Net (Gain) Loss</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnusualOrInfrequentItemNetGainLoss_lbl" xml:lang="en-US">Total amount of fraud loss and professional fee recovered</link:label>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>11
<FILENAME>agx-20231031_pre.xml
<DESCRIPTION>EX-101.PRE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.4.0.13 -->
<!--Based on XBRL 2.1-->
<!--Created on: 12/6/2023 9:02:57 PM-->
<!--Modified on: 12/6/2023 9:02:57 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#StatementCondensedConsolidatedStatementsOfEarnings" roleURI="http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#StatementCondensedConsolidatedBalanceSheets" roleURI="http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#StatementCondensedConsolidatedBalanceSheetsParenthetical" roleURI="http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#StatementCondensedConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#StatementCondensedConsolidatedStatementsOfCashFlows" roleURI="http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureDescriptionOfBusinessAndBasisOfPresentation" roleURI="http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentation" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureRevenuesFromContractsWithCustomers" roleURI="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomers" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCashCashEquivalentsAndInvestments" roleURI="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestments" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureAccountsReceivable" roleURI="http://www.arganinc.com/role/DisclosureAccountsReceivable" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureIntangibleAssets" roleURI="http://www.arganinc.com/role/DisclosureIntangibleAssets" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureFinancingArrangements" roleURI="http://www.arganinc.com/role/DisclosureFinancingArrangements" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCommitments" roleURI="http://www.arganinc.com/role/DisclosureCommitments" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureLegalContingencies" roleURI="http://www.arganinc.com/role/DisclosureLegalContingencies" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureStockBasedCompensation" roleURI="http://www.arganinc.com/role/DisclosureStockBasedCompensation" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureIncomeTaxes" roleURI="http://www.arganinc.com/role/DisclosureIncomeTaxes" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureNetIncomePerShare" roleURI="http://www.arganinc.com/role/DisclosureNetIncomePerShare" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCashDividendsAndTreasuryStock" roleURI="http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStock" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCustomerConcentrations" roleURI="http://www.arganinc.com/role/DisclosureCustomerConcentrations" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureSegmentReporting" roleURI="http://www.arganinc.com/role/DisclosureSegmentReporting" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureSupplementalFinancialStatementInformation" roleURI="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformation" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies" roleURI="http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureDescriptionOfBusinessAndBasisOfPresentationTables" roleURI="http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationTables" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureRevenuesFromContractsWithCustomersTables" roleURI="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersTables" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCashCashEquivalentsAndInvestmentsTables" roleURI="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureIntangibleAssetsTables" roleURI="http://www.arganinc.com/role/DisclosureIntangibleAssetsTables" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCommitmentsTables" roleURI="http://www.arganinc.com/role/DisclosureCommitmentsTables" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureStockBasedCompensationTables" roleURI="http://www.arganinc.com/role/DisclosureStockBasedCompensationTables" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureIncomeTaxesTables" roleURI="http://www.arganinc.com/role/DisclosureIncomeTaxesTables" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureNetIncomePerShareTables" roleURI="http://www.arganinc.com/role/DisclosureNetIncomePerShareTables" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureSegmentReportingTables" roleURI="http://www.arganinc.com/role/DisclosureSegmentReportingTables" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureSupplementalFinancialStatementInformationTables" roleURI="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationTables" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" roleURI="http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureRevenuesFromContractsWithCustomersDetails" roleURI="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" roleURI="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" roleURI="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCashCashEquivalentsAndInvestmentsDetails" roleURI="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" roleURI="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails" roleURI="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureAccountsReceivableDetails" roleURI="http://www.arganinc.com/role/DisclosureAccountsReceivableDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" roleURI="http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureIntangibleAssetsAdditionalInformationDetails" roleURI="http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails" roleURI="http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureFinancingArrangementsDetails" roleURI="http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCommitmentsLeasesDetails" roleURI="http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" roleURI="http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCommitmentsWarrantiesDetails" roleURI="http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" roleURI="http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" roleURI="http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" roleURI="http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureStockBasedCompensationAdditionalInformationDetails" roleURI="http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" roleURI="http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureIncomeTaxesNetOperatingLossCarrybackDetails" roleURI="http://www.arganinc.com/role/DisclosureIncomeTaxesNetOperatingLossCarrybackDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails" roleURI="http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" roleURI="http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureNetIncomePerShareDetails" roleURI="http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureNetIncomePerShareAdditionalInformationDetails" roleURI="http://www.arganinc.com/role/DisclosureNetIncomePerShareAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCashDividendsAndTreasuryStockDetails" roleURI="http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureCustomerConcentrationsDetails" roleURI="http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureSegmentReportingDetails" roleURI="http://www.arganinc.com/role/DisclosureSegmentReportingDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails" roleURI="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails" roleURI="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="agx-20231031.xsd#DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails" roleURI="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#InsiderTradingArrangements" roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" />
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DocumentDocumentAndEntityInformation" xlink:type="extended" xlink:title="00090 - Document - Document and Entity Information">
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DocumentAndEntityInformationAbstract" xlink:label="agx_DocumentAndEntityInformationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType_638374933745209015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_DocumentType_638374933745209015" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport_638374933745209015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_DocumentQuarterlyReport_638374933745209015" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate_638374933745209015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_DocumentPeriodEndDate_638374933745209015" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport_638374933745209015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_DocumentTransitionReport_638374933745209015" order="4" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber_638374933745209015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_EntityFileNumber_638374933745209015" order="5" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName_638374933745209015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_EntityRegistrantName_638374933745209015" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode_638374933745219019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_EntityIncorporationStateCountryCode_638374933745219019" order="7" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber_638374933745219019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_EntityTaxIdentificationNumber_638374933745219019" order="8" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1_638374933745219019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_EntityAddressAddressLine1_638374933745219019" order="9" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown_638374933745219019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_EntityAddressCityOrTown_638374933745219019" order="10" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince_638374933745219019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_EntityAddressStateOrProvince_638374933745219019" order="11" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode_638374933745219019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_EntityAddressPostalZipCode_638374933745219019" order="12" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode_638374933745219019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_CityAreaCode_638374933745219019" order="13" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber_638374933745219019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_LocalPhoneNumber_638374933745219019" order="14" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle_638374933745219019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_Security12bTitle_638374933745219019" order="15" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol_638374933745219019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_TradingSymbol_638374933745219019" order="16" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName_638374933745219019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_SecurityExchangeName_638374933745219019" order="17" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus_638374933745229015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_EntityCurrentReportingStatus_638374933745229015" order="18" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent_638374933745229015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_EntityInteractiveDataCurrent_638374933745229015" order="19" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory_638374933745229015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_EntityFilerCategory_638374933745229015" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness_638374933745229015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_EntitySmallBusiness_638374933745229015" order="21" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany_638374933745229015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_EntityEmergingGrowthCompany_638374933745229015" order="22" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany_638374933745229015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_EntityShellCompany_638374933745229015" order="23" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding_638374933745229015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_EntityCommonStockSharesOutstanding_638374933745229015" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey_638374933745229015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_EntityCentralIndexKey_638374933745229015" order="25" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus_638374933745229015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_DocumentFiscalYearFocus_638374933745229015" order="26" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate_638374933745229015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_CurrentFiscalYearEndDate_638374933745229015" order="27" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus_638374933745239017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_DocumentFiscalPeriodFocus_638374933745239017" order="28" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag_638374933745239017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_DocumentAndEntityInformationAbstract" xlink:to="dei_AmendmentFlag_638374933745239017" order="29" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings" xlink:type="extended" xlink:title="00100 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638374933745239017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638374933745239017" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue_638374933745239017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_CostOfRevenue_638374933745239017" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638374933745239017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_GrossProfit_638374933745239017" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638374933745239017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638374933745239017" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638374933745239017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OperatingIncomeLoss_638374933745239017" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_638374933745239017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_638374933745239017" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638374933745239017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638374933745239017" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638374933745249014" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638374933745249014" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638374933745249014" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_NetIncomeLoss_638374933745249014" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638374933745249014" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638374933745249014" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_638374933745249014" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_638374933745249014" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_638374933745249014" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_638374933745249014" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract_638374933745249014" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_638374933745249014" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_638374933745249014" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_638374933745249014" xlink:to="us-gaap_EarningsPerShareBasic_638374933745249014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_638374933745249014" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_638374933745249014" xlink:to="us-gaap_EarningsPerShareDiluted_638374933745249014" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638374933745249014" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638374933745249014" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638374933745249014" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638374933745249014" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638374933745249014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638374933745249014" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638374933745249014" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638374933745249014" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_638374933745259017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_638374933745259017" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00200 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_638374933745259017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_AssetsAbstract_638374933745259017" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_638374933745259017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638374933745259017" xlink:to="us-gaap_AssetsCurrentAbstract_638374933745259017" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638374933745259017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638374933745259017" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638374933745259017" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Investments" xlink:label="us-gaap_Investments_638374933745259017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638374933745259017" xlink:to="us-gaap_Investments_638374933745259017" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638374933745259017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638374933745259017" xlink:to="us-gaap_AccountsReceivableNetCurrent_638374933745259017" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_638374933745259017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638374933745259017" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_638374933745259017" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent_638374933745259017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638374933745259017" xlink:to="us-gaap_OtherAssetsCurrent_638374933745259017" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638374933745259017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638374933745259017" xlink:to="us-gaap_AssetsCurrent_638374933745259017" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638374933745259017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638374933745259017" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638374933745259017" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638374933745269021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638374933745259017" xlink:to="us-gaap_Goodwill_638374933745269021" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_638374933745269021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638374933745259017" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_638374933745269021" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638374933745269021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638374933745259017" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638374933745269021" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_OperatingLeaseRightOfUseAssetAndOtherAssets" xlink:label="agx_OperatingLeaseRightOfUseAssetAndOtherAssets_638374933745269021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638374933745259017" xlink:to="agx_OperatingLeaseRightOfUseAssetAndOtherAssets_638374933745269021" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638374933745269021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638374933745259017" xlink:to="us-gaap_Assets_638374933745269021" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638374933745269021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638374933745269021" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_638374933745269021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638374933745269021" xlink:to="us-gaap_LiabilitiesCurrentAbstract_638374933745269021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent_638374933745269021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638374933745269021" xlink:to="us-gaap_AccountsPayableCurrent_638374933745269021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent_638374933745269021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638374933745269021" xlink:to="us-gaap_AccruedLiabilitiesCurrent_638374933745269021" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638374933745269021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638374933745269021" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638374933745269021" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638374933745269021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638374933745269021" xlink:to="us-gaap_LiabilitiesCurrent_638374933745269021" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent_638374933745279015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638374933745269021" xlink:to="us-gaap_LiabilitiesNoncurrent_638374933745279015" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638374933745279015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638374933745269021" xlink:to="us-gaap_Liabilities_638374933745279015" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies_638374933745279015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638374933745269021" xlink:to="us-gaap_CommitmentsAndContingencies_638374933745279015" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract_638374933745279015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638374933745269021" xlink:to="us-gaap_StockholdersEquityAbstract_638374933745279015" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue_638374933745279015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638374933745279015" xlink:to="us-gaap_PreferredStockValue_638374933745279015" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638374933745279015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638374933745279015" xlink:to="us-gaap_CommonStockValue_638374933745279015" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_638374933745279015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638374933745279015" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_638374933745279015" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638374933745279015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638374933745279015" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638374933745279015" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue_638374933745279015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638374933745279015" xlink:to="us-gaap_TreasuryStockValue_638374933745279015" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638374933745289016" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638374933745279015" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638374933745289016" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638374933745289016" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638374933745279015" xlink:to="us-gaap_StockholdersEquity_638374933745289016" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_638374933745289016" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638374933745269021" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_638374933745289016" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" xlink:type="extended" xlink:title="00205 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_638374933745289016" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_638374933745289016" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized_638374933745289016" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_PreferredStockSharesAuthorized_638374933745289016" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued_638374933745289016" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_PreferredStockSharesIssued_638374933745289016" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding_638374933745289016" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_PreferredStockSharesOutstanding_638374933745289016" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_638374933745289016" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_638374933745289016" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized_638374933745299018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesAuthorized_638374933745299018" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638374933745299018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesIssued_638374933745299018" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_638374933745299018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesOutstanding_638374933745299018" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638374933745299018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_TreasuryStockCommonShares_638374933745299018" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" xlink:type="extended" xlink:title="00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638374933745299018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable_638374933745299018" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638374933745299018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638374933745299018" xlink:to="us-gaap_StatementEquityComponentsAxis_638374933745299018" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember_638374933745299018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638374933745299018" xlink:to="us-gaap_CommonStockMember_638374933745299018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember_638374933745299018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638374933745299018" xlink:to="us-gaap_AdditionalPaidInCapitalMember_638374933745299018" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember_638374933745299018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638374933745299018" xlink:to="us-gaap_RetainedEarningsMember_638374933745299018" order="3" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember_638374933745299018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638374933745299018" xlink:to="us-gaap_TreasuryStockCommonMember_638374933745299018" order="4" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638374933745299018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638374933745299018" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638374933745299018" order="5" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember_638374933745309015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638374933745299018" xlink:to="us-gaap_NoncontrollingInterestMember_638374933745309015" order="6" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638374933745309015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638374933745299018" xlink:to="us-gaap_EquityComponentDomain_638374933745309015" order="7" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638374933745309015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638374933745299018" xlink:to="us-gaap_StatementLineItems_638374933745309015" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638374933745309015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745309015" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638374933745309015" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding_638374933745309015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745309015" xlink:to="us-gaap_SharesOutstanding_638374933745309015" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638374933745309015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745309015" xlink:to="us-gaap_ProfitLoss_638374933745309015" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax_638374933745309015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745309015" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax_638374933745309015" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_638374933745309015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745309015" xlink:to="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_638374933745309015" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638374933745309015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745309015" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638374933745309015" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_638374933745309015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745309015" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_638374933745309015" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_638374933745309015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_638374933745309015" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_638374933745309015" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_638374933745319018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745309015" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_638374933745319018" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_638374933745319018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue_638374933745319018" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_638374933745319018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsCommonStockCash" xlink:label="us-gaap_DividendsCommonStockCash_638374933745319018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745309015" xlink:to="us-gaap_DividendsCommonStockCash_638374933745319018" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638374933745319018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745309015" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638374933745319018" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding_638374933745319018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745309015" xlink:to="us-gaap_SharesOutstanding_638374933745319018" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="9" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract_636631086459309600" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638374933745319018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_636631086459309600" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638374933745319018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638374933745319018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638374933745319018" xlink:to="us-gaap_ProfitLoss_638374933745319018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638374933745319018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638374933745319018" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638374933745319018" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638374933745319018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638374933745319018" xlink:to="us-gaap_ShareBasedCompensation_638374933745319018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet" xlink:label="us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet_638374933745329017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638374933745319018" xlink:to="us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet_638374933745329017" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation_638374933745329017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638374933745319018" xlink:to="us-gaap_Depreciation_638374933745329017" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense_638374933745329017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638374933745319018" xlink:to="us-gaap_OperatingLeaseExpense_638374933745329017" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_638374933745329017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638374933745319018" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638374933745329017" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets_638374933745329017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638374933745319018" xlink:to="us-gaap_AmortizationOfIntangibleAssets_638374933745329017" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638374933745329017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638374933745319018" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638374933745329017" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense_638374933745329017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638374933745319018" xlink:to="us-gaap_OtherNoncashIncomeExpense_638374933745329017" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638374933745329017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638374933745319018" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638374933745329017" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638374933745329017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638374933745329017" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638374933745329017" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638374933745329017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638374933745329017" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638374933745329017" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_638374933745329017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638374933745329017" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_638374933745329017" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_638374933745329017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638374933745329017" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_638374933745329017" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638374933745339018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638374933745329017" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638374933745339018" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933745339018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638374933745319018" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638374933745339018" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638374933745339018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_636631086459309600" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638374933745339018" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:label="us-gaap_PaymentsToAcquireHeldToMaturitySecurities_638374933745339018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638374933745339018" xlink:to="us-gaap_PaymentsToAcquireHeldToMaturitySecurities_638374933745339018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities" xlink:label="us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities_638374933745339018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638374933745339018" xlink:to="us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities_638374933745339018" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:label="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_638374933745339018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638374933745339018" xlink:to="us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_638374933745339018" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638374933745339018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638374933745339018" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638374933745339018" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638374933745339018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638374933745339018" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638374933745339018" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638374933745339018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_636631086459309600" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638374933745339018" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_638374933745349091" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638374933745339018" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_638374933745349091" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_638374933745349091" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638374933745339018" xlink:to="us-gaap_PaymentsOfDividendsCommonStock_638374933745349091" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638374933745349091" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638374933745339018" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638374933745349091" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638374933745349091" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638374933745339018" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638374933745349091" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638374933745349091" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_636631086459309600" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638374933745349091" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638374933745349091" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_636631086459309600" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638374933745349091" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638374933745349091" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_636631086459309600" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638374933745349091" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6383749337453490911" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_636631086459309600" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6383749337453490911" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract" xlink:label="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract_638374933745359017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_636631086459309600" xlink:to="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract_638374933745359017" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_638374933745359017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract_638374933745359017" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_638374933745359017" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_638374933745359017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_636631086459309600" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_638374933745359017" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaid" xlink:label="us-gaap_IncomeTaxesPaid_638374933745359017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638374933745359017" xlink:to="us-gaap_IncomeTaxesPaid_638374933745359017" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_OperatingLeasesPaid" xlink:label="agx_OperatingLeasesPaid_638374933745359017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638374933745359017" xlink:to="agx_OperatingLeasesPaid_638374933745359017" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentation" xlink:type="extended" xlink:title="10101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_638374933745369019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_638374933745369019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomers" xlink:type="extended" xlink:title="10201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_638374933745369019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_638374933745369019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestments" xlink:type="extended" xlink:title="10301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="us-gaap_CashAndCashEquivalentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock" xlink:label="us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock_638374933745369019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAbstract" xlink:to="us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock_638374933745369019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureAccountsReceivable" xlink:type="extended" xlink:title="10401 - Disclosure - ACCOUNTS RECEIVABLE">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_TradeAndOtherReceivablesDisclosureTextBlock" xlink:label="agx_TradeAndOtherReceivablesDisclosureTextBlock_638374933745369019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="agx_TradeAndOtherReceivablesDisclosureTextBlock_638374933745369019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureIntangibleAssets" xlink:type="extended" xlink:title="10501 - Disclosure - INTANGIBLE ASSETS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_638374933745369019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_638374933745369019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureFinancingArrangements" xlink:type="extended" xlink:title="10601 - Disclosure - FINANCING ARRANGEMENTS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock_638374933745379019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock_638374933745379019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureCommitments" xlink:type="extended" xlink:title="10701 - Disclosure - COMMITMENTS">
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_CommitmentDisclosureAbstract" xlink:label="agx_CommitmentDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsDisclosureTextBlock" xlink:label="us-gaap_CommitmentsDisclosureTextBlock_638374933745379019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_CommitmentDisclosureAbstract" xlink:to="us-gaap_CommitmentsDisclosureTextBlock_638374933745379019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureLegalContingencies" xlink:type="extended" xlink:title="10801 - Disclosure - LEGAL CONTINGENCIES">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LegalMattersAndContingenciesTextBlock" xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock_638374933745379019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_LegalMattersAndContingenciesTextBlock_638374933745379019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureStockBasedCompensation" xlink:type="extended" xlink:title="10901 - Disclosure - STOCK-BASED COMPENSATION">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638374933745379019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638374933745379019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureIncomeTaxes" xlink:type="extended" xlink:title="11001 - Disclosure - INCOME TAXES">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_638374933745379019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_638374933745379019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureNetIncomePerShare" xlink:type="extended" xlink:title="11101 - Disclosure - NET INCOME PER SHARE">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock_638374933745379019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock_638374933745379019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStock" xlink:type="extended" xlink:title="11201 - Disclosure - CASH DIVIDENDS AND TREASURY STOCK">
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_CashDividendAndTreasuryStockAbstract" xlink:label="agx_CashDividendAndTreasuryStockAbstract" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_CashDividendAndTreasuryStockTextBlock" xlink:label="agx_CashDividendAndTreasuryStockTextBlock_638374933745389019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_CashDividendAndTreasuryStockAbstract" xlink:to="agx_CashDividendAndTreasuryStockTextBlock_638374933745389019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureCustomerConcentrations" xlink:type="extended" xlink:title="11301 - Disclosure - CUSTOMER CONCENTRATIONS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock_638374933745389019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_ConcentrationRiskDisclosureTextBlock_638374933745389019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureSegmentReporting" xlink:type="extended" xlink:title="11401 - Disclosure - SEGMENT REPORTING">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_638374933745389019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_638374933745389019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformation" xlink:type="extended" xlink:title="11501 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION">
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_SupplementalFinancialStatementInformationAbstract" xlink:label="agx_SupplementalFinancialStatementInformationAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalFinancialInformationDisclosureTextBlock" xlink:label="us-gaap_AdditionalFinancialInformationDisclosureTextBlock_638374933745389019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_SupplementalFinancialStatementInformationAbstract_2" xlink:to="us-gaap_AdditionalFinancialInformationDisclosureTextBlock_638374933745389019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies" xlink:type="extended" xlink:title="20102 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock_638374933745399019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_ConsolidationPolicyTextBlock_638374933745399019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_638374933745399019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_638374933745399019" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_638374933745399019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_638374933745399019" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_AvailableForSaleSecuritiesPolicyTextBlock" xlink:label="agx_AvailableForSaleSecuritiesPolicyTextBlock_638374933745399019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="agx_AvailableForSaleSecuritiesPolicyTextBlock_638374933745399019" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_638374933745399019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_638374933745399019" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_TreasuryStockPolicyTextBlock" xlink:label="agx_TreasuryStockPolicyTextBlock_638374933745399019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="agx_TreasuryStockPolicyTextBlock_638374933745399019" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationTables" xlink:type="extended" xlink:title="30103 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_638374933745399019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_1" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_638374933745399019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersTables" xlink:type="extended" xlink:title="30203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_638374933745399019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_638374933745399019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables" xlink:type="extended" xlink:title="30303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="us-gaap_CashAndCashEquivalentsAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentTableTextBlock" xlink:label="us-gaap_InvestmentTableTextBlock_638374933745409018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAbstract_1" xlink:to="us-gaap_InvestmentTableTextBlock_638374933745409018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_638374933745409018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAbstract_1" xlink:to="us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_638374933745409018" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureIntangibleAssetsTables" xlink:type="extended" xlink:title="30503 - Disclosure - INTANGIBLE ASSETS (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock" xlink:label="agx_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock_638374933745409018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="agx_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock_638374933745409018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureCommitmentsTables" xlink:type="extended" xlink:title="30703 - Disclosure - COMMITMENTS (Tables)">
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_CommitmentDisclosureAbstract" xlink:label="agx_CommitmentDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_638374933745409018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_CommitmentDisclosureAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_638374933745409018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureStockBasedCompensationTables" xlink:type="extended" xlink:title="30903 - Disclosure - STOCK-BASED COMPENSATION (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_638374933745409018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_638374933745409018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock_638374933745409018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock_638374933745409018" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_638374933745409018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_638374933745409018" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureIncomeTaxesTables" xlink:type="extended" xlink:title="31003 - Disclosure - INCOME TAXES (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_638374933745419017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_638374933745419017" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureNetIncomePerShareTables" xlink:type="extended" xlink:title="31103 - Disclosure - NET INCOME PER SHARE (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638374933745419017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638374933745419017" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureSegmentReportingTables" xlink:type="extended" xlink:title="31403 - Disclosure - SEGMENT REPORTING (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_638374933745419017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_638374933745419017" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationTables" xlink:type="extended" xlink:title="31503 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables)">
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_SupplementalFinancialStatementInformationAbstract" xlink:label="agx_SupplementalFinancialStatementInformationAbstract_4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock_638374933745419017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_SupplementalFinancialStatementInformationAbstract_4" xlink:to="us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock_638374933745419017" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_638374933745419017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_SupplementalFinancialStatementInformationAbstract_4" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_638374933745419017" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails" xlink:type="extended" xlink:title="40101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION - Financial Instruments on a Recurring Basis (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638374933745429020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_2" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638374933745429020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis_638374933745429020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638374933745429020" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis_638374933745429020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_638374933745429020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis_638374933745429020" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_638374933745429020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember_638374933745429020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain_638374933745429020" xlink:to="us-gaap_FairValueMeasurementsRecurringMember_638374933745429020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_638374933745429020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638374933745429020" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis_638374933745429020" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_638374933745429020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis_638374933745429020" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_638374933745429020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member_638374933745429020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_638374933745429020" xlink:to="us-gaap_FairValueInputsLevel1Member_638374933745429020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member_638374933745429020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_638374933745429020" xlink:to="us-gaap_FairValueInputsLevel2Member_638374933745429020" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis_638374933745429020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638374933745429020" xlink:to="us-gaap_FinancialInstrumentAxis_638374933745429020" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638374933745429020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis_638374933745429020" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638374933745429020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="us-gaap_MoneyMarketFundsMember_638374933745429020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638374933745429020" xlink:to="us-gaap_MoneyMarketFundsMember_638374933745429020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="us-gaap_USTreasurySecuritiesMember_638374933745429020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638374933745429020" xlink:to="us-gaap_USTreasurySecuritiesMember_638374933745429020" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCorporateDebtSecuritiesMember" xlink:label="us-gaap_DomesticCorporateDebtSecuritiesMember_638374933745439019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638374933745429020" xlink:to="us-gaap_DomesticCorporateDebtSecuritiesMember_638374933745439019" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638374933745439019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638374933745429020" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638374933745439019" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure_638374933745439019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638374933745439019" xlink:to="us-gaap_CashAndCashEquivalentsFairValueDisclosure_638374933745439019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities_638374933745439019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638374933745439019" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities_638374933745439019" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="us-gaap_AssetsFairValueDisclosure_638374933745439019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638374933745439019" xlink:to="us-gaap_AssetsFairValueDisclosure_638374933745439019" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails" xlink:type="extended" xlink:title="40201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_638374933745439019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_638374933745439019" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638374933745439019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_638374933745439019" xlink:to="srt_ProductOrServiceAxis_638374933745439019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638374933745439019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638374933745439019" xlink:to="srt_ProductsAndServicesDomain_638374933745439019" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_KilrootProjectMember" xlink:label="agx_KilrootProjectMember_638374933745439019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638374933745439019" xlink:to="agx_KilrootProjectMember_638374933745439019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638374933745449018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_638374933745439019" xlink:to="dei_LegalEntityAxis_638374933745449018" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638374933745449018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638374933745449018" xlink:to="dei_EntityDomain_638374933745449018" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_AtlanticProjectsCompanyLimitedMember" xlink:label="agx_AtlanticProjectsCompanyLimitedMember_638374933745449018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638374933745449018" xlink:to="agx_AtlanticProjectsCompanyLimitedMember_638374933745449018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638374933745449018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_638374933745439019" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638374933745449018" order="3" use="optional" priority="4" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_EstimatedLoss" xlink:label="agx_EstimatedLoss_638374933745449018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638374933745449018" xlink:to="agx_EstimatedLoss_638374933745449018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears" xlink:label="agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears_638374933745449018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638374933745449018" xlink:to="agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears_638374933745449018" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ReversalOfProfitLossRecordedInPriorPeriods" xlink:label="agx_ReversalOfProfitLossRecordedInPriorPeriods_638374933745449018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638374933745449018" xlink:to="agx_ReversalOfProfitLossRecordedInPriorPeriods_638374933745449018" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_638374933745449018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638374933745449018" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_638374933745449018" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_RetainedAmountUnderConstructionContracts" xlink:label="agx_RetainedAmountUnderConstructionContracts_638374933745449018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638374933745449018" xlink:to="agx_RetainedAmountUnderConstructionContracts_638374933745449018" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_NPricedChangeOrdersIncludedInTransactionPrices" xlink:label="agx_NPricedChangeOrdersIncludedInTransactionPrices_638374933745449018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638374933745449018" xlink:to="agx_NPricedChangeOrdersIncludedInTransactionPrices_638374933745449018" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails" xlink:type="extended" xlink:title="40202 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_638374933745459019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_638374933745459019" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_638374933745459019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_638374933745459019" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_638374933745459019" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638374933745459019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_638374933745459019" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638374933745459019" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_638374933745459019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638374933745459019" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_638374933745459019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage_638374933745459019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638374933745459019" xlink:to="us-gaap_RevenueRemainingPerformanceObligationPercentage_638374933745459019" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_638374933745459019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_638374933745459019" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_638374933745459019" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails" xlink:type="extended" xlink:title="40203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_638374933745459019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable_638374933745459019" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638374933745459019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638374933745459019" xlink:to="srt_StatementGeographicalAxis_638374933745459019" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638374933745459019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638374933745459019" xlink:to="srt_SegmentGeographicalDomain_638374933745459019" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US_638374933745459019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638374933745459019" xlink:to="country_US_638374933745459019" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_IE" xlink:label="country_IE_638374933745459019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638374933745459019" xlink:to="country_IE_638374933745459019" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_GB" xlink:label="country_GB_638374933745459019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638374933745459019" xlink:to="country_GB_638374933745459019" order="3" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_638374933745469019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638374933745459019" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_638374933745469019" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638374933745469019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638374933745469019" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638374933745469019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails" xlink:type="extended" xlink:title="40301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="us-gaap_CashAndCashEquivalentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTable_638374933745469019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAbstract" xlink:to="us-gaap_ScheduleOfCashAndCashEquivalentsTable_638374933745469019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InformationByCategoryOfDebtSecurityAxis" xlink:label="us-gaap_InformationByCategoryOfDebtSecurityAxis_638374933745469019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfCashAndCashEquivalentsTable_638374933745469019" xlink:to="us-gaap_InformationByCategoryOfDebtSecurityAxis_638374933745469019" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain" xlink:label="us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain_638374933745469019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InformationByCategoryOfDebtSecurityAxis_638374933745469019" xlink:to="us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain_638374933745469019" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HeldtomaturitySecuritiesMember" xlink:label="us-gaap_HeldtomaturitySecuritiesMember_638374933745469019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain_638374933745469019" xlink:to="us-gaap_HeldtomaturitySecuritiesMember_638374933745469019" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="us-gaap_CashAndCashEquivalentsLineItems_638374933745469019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfCashAndCashEquivalentsTable_638374933745469019" xlink:to="us-gaap_CashAndCashEquivalentsLineItems_638374933745469019" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_InvestmentMaturityPeriod" xlink:label="agx_InvestmentMaturityPeriod_638374933745469019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems_638374933745469019" xlink:to="agx_InvestmentMaturityPeriod_638374933745469019" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_WeightedAverageRateDepositCertificatesOfDeposit" xlink:label="agx_WeightedAverageRateDepositCertificatesOfDeposit_638374933745469019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems_638374933745469019" xlink:to="agx_WeightedAverageRateDepositCertificatesOfDeposit_638374933745469019" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_AccruedInvestmentIncomeDividendReceivable" xlink:label="agx_AccruedInvestmentIncomeDividendReceivable_638374933745469019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems_638374933745469019" xlink:to="agx_AccruedInvestmentIncomeDividendReceivable_638374933745469019" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestReceivable" xlink:label="us-gaap_InterestReceivable_638374933745469019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems_638374933745469019" xlink:to="us-gaap_InterestReceivable_638374933745469019" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails" xlink:type="extended" xlink:title="40302 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="us-gaap_CashAndCashEquivalentsAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTable_638374933745479020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAbstract_2" xlink:to="us-gaap_ScheduleOfCashAndCashEquivalentsTable_638374933745479020" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638374933745479020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfCashAndCashEquivalentsTable_638374933745479020" xlink:to="srt_RangeAxis_638374933745479020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638374933745479020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638374933745479020" xlink:to="srt_RangeMember_638374933745479020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638374933745479020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638374933745479020" xlink:to="srt_MinimumMember_638374933745479020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638374933745479020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638374933745479020" xlink:to="srt_MaximumMember_638374933745479020" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis_638374933745479020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfCashAndCashEquivalentsTable_638374933745479020" xlink:to="us-gaap_FinancialInstrumentAxis_638374933745479020" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638374933745479020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis_638374933745479020" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638374933745479020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasuryNotesSecuritiesMember" xlink:label="us-gaap_USTreasuryNotesSecuritiesMember_638374933745479020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638374933745479020" xlink:to="us-gaap_USTreasuryNotesSecuritiesMember_638374933745479020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCorporateDebtSecuritiesMember" xlink:label="us-gaap_DomesticCorporateDebtSecuritiesMember_638374933745479020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638374933745479020" xlink:to="us-gaap_DomesticCorporateDebtSecuritiesMember_638374933745479020" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="us-gaap_CashAndCashEquivalentsLineItems_638374933745479020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfCashAndCashEquivalentsTable_638374933745479020" xlink:to="us-gaap_CashAndCashEquivalentsLineItems_638374933745479020" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleTerm" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleTerm_638374933745489020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems_638374933745479020" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleTerm_638374933745489020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent_638374933745489020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems_638374933745479020" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent_638374933745489020" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList_638374933745489020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent_638374933745489020" xlink:to="us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList_638374933745489020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax_638374933745489020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems_638374933745479020" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax_638374933745489020" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:label="us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_638374933745489020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems_638374933745479020" xlink:to="us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_638374933745489020" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_638374933745489020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems_638374933745479020" xlink:to="us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_638374933745489020" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract" xlink:label="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract_638374933745489020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsLineItems_638374933745479020" xlink:to="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract_638374933745489020" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo" xlink:label="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo_638374933745489020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract_638374933745489020" xlink:to="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo_638374933745489020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree" xlink:label="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree_638374933745489020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract_638374933745489020" xlink:to="agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree_638374933745489020" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_638374933745489020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract_638374933745489020" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_638374933745489020" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_638374933745489020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract_638374933745489020" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_638374933745489020" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo_638374933745499018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract_638374933745489020" xlink:to="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo_638374933745499018" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo_638374933745499018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract_638374933745489020" xlink:to="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo_638374933745499018" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree" xlink:label="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree_638374933745499018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract_638374933745489020" xlink:to="agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree_638374933745499018" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_638374933745499018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract_638374933745489020" xlink:to="us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_638374933745499018" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo" xlink:label="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo_638374933745499018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract_638374933745489020" xlink:to="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo_638374933745499018" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree" xlink:label="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree_638374933745499018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract_638374933745489020" xlink:to="agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree_638374933745499018" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities_638374933745499018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract_638374933745489020" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities_638374933745499018" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails" xlink:type="extended" xlink:title="40303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="us-gaap_CashAndCashEquivalentsAbstract_4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments" xlink:label="us-gaap_ShortTermInvestments_638374933745509020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAbstract_4" xlink:to="us-gaap_ShortTermInvestments_638374933745509020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecurities_638374933745509020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAbstract_4" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecurities_638374933745509020" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Investments" xlink:label="us-gaap_Investments_638374933745509020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAbstract_4" xlink:to="us-gaap_Investments_638374933745509020" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureAccountsReceivableDetails" xlink:type="extended" xlink:title="40401 - Disclosure - ACCOUNTS RECEIVABLE (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForNotesAndLoansReceivableCurrent" xlink:label="us-gaap_AllowanceForNotesAndLoansReceivableCurrent_638374933745509020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_AllowanceForNotesAndLoansReceivableCurrent_638374933745509020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails" xlink:type="extended" xlink:title="40501 - Disclosure - INTANGIBLE ASSETS - Components of Intangible Assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638374933745509020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_1" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638374933745509020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638374933745509020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638374933745509020" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638374933745509020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638374933745509020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638374933745509020" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638374933745509020" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember_638374933745509020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638374933745509020" xlink:to="us-gaap_TradeNamesMember_638374933745509020" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember_638374933745509020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638374933745509020" xlink:to="us-gaap_CustomerRelationshipsMember_638374933745509020" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_638374933745579017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638374933745509020" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_638374933745579017" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_638374933745579017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638374933745579017" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_638374933745579017" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_638374933745579017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638374933745579017" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_638374933745579017" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638374933745579017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638374933745579017" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638374933745579017" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638374933745579017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638374933745579017" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638374933745579017" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails" xlink:type="extended" xlink:title="40502 - Disclosure - INTANGIBLE ASSETS - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638374933745579017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_2" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638374933745579017" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_638374933745579017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638374933745579017" xlink:to="us-gaap_BusinessAcquisitionAxis_638374933745579017" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_638374933745579017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis_638374933745579017" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_638374933745579017" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_RobertsCompanyIncMember" xlink:label="agx_RobertsCompanyIncMember_638374933745579017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_638374933745579017" xlink:to="agx_RobertsCompanyIncMember_638374933745579017" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_GemmaPowerSystemLlcMember" xlink:label="agx_GemmaPowerSystemLlcMember_638374933745579017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_638374933745579017" xlink:to="agx_GemmaPowerSystemLlcMember_638374933745579017" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_638374933745589021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638374933745579017" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_638374933745589021" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract" xlink:label="us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract_638374933745589021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638374933745589021" xlink:to="us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract_638374933745589021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638374933745589021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract_638374933745589021" xlink:to="us-gaap_Goodwill_638374933745589021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails" xlink:type="extended" xlink:title="40503 - Disclosure - INTANGIBLE ASSETS - Finite Lived Intangible Future Amortization Schedule (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638374933745589021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638374933745589021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638374933745589021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638374933745589021" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638374933745589021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638374933745589021" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638374933745589021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638374933745589021" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638374933745589021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638374933745589021" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_638374933745589021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_638374933745589021" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638374933745589021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638374933745589021" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails" xlink:type="extended" xlink:title="40601 - Disclosure - FINANCING ARRANGEMENTS (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable_638374933745599024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_LineOfCreditFacilityTable_638374933745599024" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_638374933745599024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638374933745599024" xlink:to="us-gaap_CreditFacilityAxis_638374933745599024" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_638374933745599024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis_638374933745599024" xlink:to="us-gaap_CreditFacilityDomain_638374933745599024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember_638374933745599024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638374933745599024" xlink:to="us-gaap_LineOfCreditMember_638374933745599024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember_638374933745599024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditMember_638374933745599024" xlink:to="us-gaap_RevolvingCreditFacilityMember_638374933745599024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LetterOfCreditMember" xlink:label="us-gaap_LetterOfCreditMember_638374933745599024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638374933745599024" xlink:to="us-gaap_LetterOfCreditMember_638374933745599024" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_638374933745599024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638374933745599024" xlink:to="srt_StatementScenarioAxis_638374933745599024" order="2" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_638374933745599024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis_638374933745599024" xlink:to="srt_ScenarioUnspecifiedDomain_638374933745599024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_LettersOfCreditExpireOnMay312024Member" xlink:label="agx_LettersOfCreditExpireOnMay312024Member_638374933745599024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScenarioUnspecifiedDomain_638374933745599024" xlink:to="agx_LettersOfCreditExpireOnMay312024Member_638374933745599024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis_638374933745599024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638374933745599024" xlink:to="us-gaap_VariableRateAxis_638374933745599024" order="3" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_638374933745599024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis_638374933745599024" xlink:to="us-gaap_VariableRateDomain_638374933745599024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_638374933745599024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateDomain_638374933745599024" xlink:to="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_638374933745599024" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems_638374933745609021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638374933745599024" xlink:to="us-gaap_LineOfCreditFacilityLineItems_638374933745609021" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638374933745609021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638374933745609021" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638374933745609021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638374933745609021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638374933745609021" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638374933745609021" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity" xlink:label="agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity_638374933745609021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638374933745609021" xlink:to="agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity_638374933745609021" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LettersOfCreditOutstandingAmount" xlink:label="us-gaap_LettersOfCreditOutstandingAmount_638374933745609021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638374933745609021" xlink:to="us-gaap_LettersOfCreditOutstandingAmount_638374933745609021" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails" xlink:type="extended" xlink:title="40701 - Disclosure - COMMITMENTS - Leases (Details)">
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_CommitmentDisclosureAbstract" xlink:label="agx_CommitmentDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638374933745609021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_CommitmentDisclosureAbstract" xlink:to="us-gaap_StatementTable_638374933745609021" order="1" use="optional" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_638374933745609021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638374933745609021" xlink:to="us-gaap_BusinessAcquisitionAxis_638374933745609021" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_638374933745609021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis_638374933745609021" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_638374933745609021" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_GemmaPowerSystemsMember" xlink:label="agx_GemmaPowerSystemsMember_638374933745609021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_638374933745609021" xlink:to="agx_GemmaPowerSystemsMember_638374933745609021" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis_638374933745619026" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638374933745609021" xlink:to="us-gaap_GuaranteeObligationsByNatureAxis_638374933745619026" order="2" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain_638374933745619026" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis_638374933745619026" xlink:to="us-gaap_GuaranteeObligationsNatureDomain_638374933745619026" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialGuaranteeMember" xlink:label="us-gaap_FinancialGuaranteeMember_638374933745619026" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsNatureDomain_638374933745619026" xlink:to="us-gaap_FinancialGuaranteeMember_638374933745619026" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638374933745619026" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638374933745609021" xlink:to="us-gaap_StatementLineItems_638374933745619026" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638374933745619026" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745619026" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638374933745619026" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend" xlink:label="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend_638374933745619026" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745619026" xlink:to="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend_638374933745619026" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate" xlink:label="us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate_638374933745619026" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745619026" xlink:to="us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate_638374933745619026" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638374933745619026" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745619026" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638374933745619026" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense_638374933745619026" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745619026" xlink:to="us-gaap_OperatingLeaseExpense_638374933745619026" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638374933745619026" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745619026" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638374933745619026" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638374933745619026" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745619026" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638374933745619026" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ShortTermRentalAgreementsExpense" xlink:label="agx_ShortTermRentalAgreementsExpense_638374933745619026" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745619026" xlink:to="agx_ShortTermRentalAgreementsExpense_638374933745619026" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_RemainingBondedPerformanceObligations" xlink:label="agx_RemainingBondedPerformanceObligations_638374933745629021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745619026" xlink:to="agx_RemainingBondedPerformanceObligations_638374933745629021" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsMaximumExposure" xlink:label="us-gaap_GuaranteeObligationsMaximumExposure_638374933745629021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745619026" xlink:to="us-gaap_GuaranteeObligationsMaximumExposure_638374933745629021" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails" xlink:type="extended" xlink:title="40702 - Disclosure - COMMITMENTS - Future minimum lease payments (Details)">
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_CommitmentDisclosureAbstract" xlink:label="agx_CommitmentDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638374933745629021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_CommitmentDisclosureAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638374933745629021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_638374933745629021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638374933745629021" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_638374933745629021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638374933745629021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638374933745629021" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638374933745629021" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638374933745629021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638374933745629021" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638374933745629021" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638374933745629021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638374933745629021" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638374933745629021" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638374933745629021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638374933745629021" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638374933745629021" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:label="agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_638374933745629021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638374933745629021" xlink:to="agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_638374933745629021" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638374933745629021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638374933745629021" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638374933745629021" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638374933745639024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638374933745629021" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638374933745639024" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638374933745639024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638374933745629021" xlink:to="us-gaap_OperatingLeaseLiability_638374933745639024" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638374933745639024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638374933745629021" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638374933745639024" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_638374933745639024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638374933745629021" xlink:to="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_638374933745639024" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638374933745639024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638374933745629021" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638374933745639024" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_638374933745639024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638374933745629021" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_638374933745639024" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails" xlink:type="extended" xlink:title="40703 - Disclosure - COMMITMENTS - Warranties (Details)">
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_CommitmentDisclosureAbstract" xlink:label="agx_CommitmentDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638374933745639024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_CommitmentDisclosureAbstract" xlink:to="us-gaap_StatementTable_638374933745639024" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638374933745639024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638374933745639024" xlink:to="srt_RangeAxis_638374933745639024" order="1" use="optional" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638374933745639024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638374933745639024" xlink:to="srt_RangeMember_638374933745639024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638374933745639024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638374933745639024" xlink:to="srt_MinimumMember_638374933745639024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638374933745649021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638374933745639024" xlink:to="srt_MaximumMember_638374933745649021" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638374933745649021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638374933745639024" xlink:to="us-gaap_StatementLineItems_638374933745649021" order="2" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_WarrantyPeriodForConstructionContracts" xlink:label="agx_WarrantyPeriodForConstructionContracts_638374933745649021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638374933745649021" xlink:to="agx_WarrantyPeriodForConstructionContracts_638374933745649021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails" xlink:type="extended" xlink:title="40901 - Disclosure - STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638374933745649021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638374933745649021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_638374933745649021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_638374933745649021" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638374933745649021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638374933745649021" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_638374933745649021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_638374933745649021" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_6383749337456490211" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_6383749337456490211" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_638374933745649021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_638374933745649021" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638374933745649021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638374933745649021" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_638374933745659021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_638374933745659021" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_638374933745659021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_638374933745659021" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_638374933745659021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_638374933745659021" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638374933745659021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638374933745659021" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_638374933745659021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_638374933745659021" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638374933745659021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638374933745659021" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_638374933745659021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_638374933745659021" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue_638374933745659021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue_638374933745659021" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue_638374933745659021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue_638374933745659021" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails" xlink:type="extended" xlink:title="40902 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_638374933745669022" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_638374933745669022" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_638374933745669022" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_638374933745669022" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_638374933745669022" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_638374933745669022" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_638374933745669022" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_638374933745669022" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_6383749337456690221" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_6383749337456690221" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_63837493374566902212" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_63837493374566902212" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_638374933745669022" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_638374933745669022" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638374933745669022" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638374933745669022" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_638374933745669022" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_638374933745669022" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_638374933745669022" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_638374933745669022" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_6383749337456690221" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_6383749337456690221" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_63837493374566902212" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_63837493374566902212" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails" xlink:type="extended" xlink:title="40903 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in restricted stock units (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638374933745679020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638374933745679020" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638374933745679020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638374933745679020" xlink:to="us-gaap_AwardTypeAxis_638374933745679020" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638374933745679020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638374933745679020" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638374933745679020" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638374933745679020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638374933745679020" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638374933745679020" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745679020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638374933745679020" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745679020" order="2" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638374933745679020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745679020" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638374933745679020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638374933745679020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638374933745679020" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638374933745679020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638374933745679020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638374933745679020" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638374933745679020" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_638374933745679020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638374933745679020" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_638374933745679020" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_638374933745679020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638374933745679020" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_638374933745679020" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638374933745689022" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638374933745679020" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638374933745689022" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_6383749337456890221" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638374933745679020" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_6383749337456890221" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638374933745689022" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745679020" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638374933745689022" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638374933745689022" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638374933745689022" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638374933745689022" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638374933745689022" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638374933745689022" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638374933745689022" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue_638374933745689022" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638374933745689022" xlink:to="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue_638374933745689022" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_638374933745689022" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638374933745689022" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_638374933745689022" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6383749337456890221" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638374933745689022" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6383749337456890221" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_63837493374568902212" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638374933745689022" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_63837493374568902212" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="9" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" xlink:type="extended" xlink:title="40904 - Disclosure - STOCK-BASED COMPENSATION - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638374933745699021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638374933745699021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis_638374933745699021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638374933745699021" xlink:to="srt_TitleOfIndividualAxis_638374933745699021" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_638374933745699021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis_638374933745699021" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_638374933745699021" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember_638374933745699021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain_638374933745699021" xlink:to="srt_ExecutiveOfficerMember_638374933745699021" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638374933745699021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638374933745699021" xlink:to="us-gaap_AwardTypeAxis_638374933745699021" order="2" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638374933745699021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638374933745699021" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638374933745699021" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638374933745699021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638374933745699021" xlink:to="us-gaap_EmployeeStockOptionMember_638374933745699021" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_PerformanceBasedRestrictedStockUnitsMember" xlink:label="agx_PerformanceBasedRestrictedStockUnitsMember_638374933745699021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638374933745699021" xlink:to="agx_PerformanceBasedRestrictedStockUnitsMember_638374933745699021" order="2" use="optional" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember" xlink:label="agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember_638374933745699021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638374933745699021" xlink:to="agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember_638374933745699021" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_IncentiveStockOptionsMember" xlink:label="agx_IncentiveStockOptionsMember_638374933745699021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638374933745699021" xlink:to="agx_IncentiveStockOptionsMember_638374933745699021" order="4" use="optional" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638374933745699021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638374933745699021" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638374933745699021" order="5" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_RenewablePerformanceBasedRestrictedStockUnitsMember" xlink:label="agx_RenewablePerformanceBasedRestrictedStockUnitsMember_638374933745709021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638374933745699021" xlink:to="agx_RenewablePerformanceBasedRestrictedStockUnitsMember_638374933745709021" order="6" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_TimeBasedRestrictedStockUnitsMember" xlink:label="agx_TimeBasedRestrictedStockUnitsMember_638374933745709021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638374933745699021" xlink:to="agx_TimeBasedRestrictedStockUnitsMember_638374933745709021" order="7" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638374933745709021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638374933745699021" xlink:to="us-gaap_PlanNameAxis_638374933745709021" order="3" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638374933745709021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638374933745709021" xlink:to="us-gaap_PlanNameDomain_638374933745709021" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_StockPlanMember" xlink:label="agx_StockPlanMember_638374933745709021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638374933745709021" xlink:to="agx_StockPlanMember_638374933745709021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_Plan2020Member" xlink:label="agx_Plan2020Member_638374933745709021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638374933745709021" xlink:to="agx_Plan2020Member_638374933745709021" order="2" use="optional" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638374933745709021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638374933745699021" xlink:to="srt_RangeAxis_638374933745709021" order="4" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638374933745709021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638374933745709021" xlink:to="srt_RangeMember_638374933745709021" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638374933745709021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638374933745709021" xlink:to="srt_MinimumMember_638374933745709021" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638374933745709021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638374933745709021" xlink:to="srt_MaximumMember_638374933745709021" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638374933745699021" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_638374933745719021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_638374933745719021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_638374933745719021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_638374933745719021" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_638374933745719021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_638374933745719021" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_638374933745719021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_638374933745719021" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_638374933745719021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_638374933745719021" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod" xlink:label="agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod_638374933745719021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" xlink:to="agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod_638374933745719021" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsShares" xlink:label="us-gaap_CommonStockDividendsShares_638374933745719021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" xlink:to="us-gaap_CommonStockDividendsShares_638374933745719021" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_PercentageReductionInAggregateFairValueOfStockOption" xlink:label="agx_PercentageReductionInAggregateFairValueOfStockOption_638374933745719021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" xlink:to="agx_PercentageReductionInAggregateFairValueOfStockOption_638374933745719021" order="8" use="optional" priority="3" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded" xlink:label="agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded_638374933745729021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" xlink:to="agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded_638374933745729021" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638374933745729021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" xlink:to="us-gaap_ShareBasedCompensation_638374933745729021" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_638374933745729021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_638374933745729021" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638374933745729021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638374933745729021" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_638374933745729021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_638374933745729021" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638374933745729021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638374933745729021" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_638374933745729021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_638374933745729021" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices" xlink:label="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices_638374933745729021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638374933745709021" xlink:to="agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices_638374933745729021" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails" xlink:type="extended" xlink:title="41001 - Disclosure - INCOME TAXES - Income Tax Expense Reconciliation (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_638374933745739023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_638374933745739023" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_638374933745739023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_638374933745739023" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_UnrecognizedTaxLossBenefit" xlink:label="agx_UnrecognizedTaxLossBenefit_638374933745739023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="agx_UnrecognizedTaxLossBenefit_638374933745739023" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_638374933745739023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_638374933745739023" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_638374933745739023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_638374933745739023" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount" xlink:label="agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount_638374933745739023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount_638374933745739023" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment_638374933745739023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment_638374933745739023" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment_638374933745739023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment_638374933745739023" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther_638374933745739023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther_638374933745739023" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638374933745749021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638374933745749021" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit_638374933745749021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit_638374933745749021" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureIncomeTaxesNetOperatingLossCarrybackDetails" xlink:type="extended" xlink:title="41002 - Disclosure - INCOME TAXES - Net Operating Loss Carryback (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_IncreaseInLossCarrybackPeriodForCertainLosses" xlink:label="agx_IncreaseInLossCarrybackPeriodForCertainLosses_638374933745749021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="agx_IncreaseInLossCarrybackPeriodForCertainLosses_638374933745749021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_DomesticNetOperatingLossCarryback" xlink:label="agx_DomesticNetOperatingLossCarryback_638374933745749021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="agx_DomesticNetOperatingLossCarryback_638374933745749021" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndOtherTaxReceivableCurrent" xlink:label="us-gaap_DeferredIncomeTaxesAndOtherTaxReceivableCurrent_638374933745749021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_DeferredIncomeTaxesAndOtherTaxReceivableCurrent_638374933745749021" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails" xlink:type="extended" xlink:title="41003 - Disclosure - INCOME TAXES - Research and Development Tax Credits (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationTaxCreditsResearch" xlink:label="us-gaap_IncomeTaxReconciliationTaxCreditsResearch_638374933745749021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxReconciliationTaxCreditsResearch_638374933745749021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit" xlink:label="agx_Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit_638374933745749021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="agx_Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit_638374933745749021" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_IncomeTaxRefundsAndPrepaidIncomeTaxes" xlink:label="agx_IncomeTaxRefundsAndPrepaidIncomeTaxes_638374933745749021" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="agx_IncomeTaxRefundsAndPrepaidIncomeTaxes_638374933745749021" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails" xlink:type="extended" xlink:title="41004 - Disclosure - INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable" xlink:label="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable_638374933745759020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable_638374933745759020" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis_638374933745759020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable_638374933745759020" xlink:to="us-gaap_IncomeStatementLocationAxis_638374933745759020" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_638374933745759020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis_638374933745759020" xlink:to="us-gaap_IncomeStatementLocationDomain_638374933745759020" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseMember_638374933745759020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain_638374933745759020" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseMember_638374933745759020" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems" xlink:label="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems_638374933745759020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable_638374933745759020" xlink:to="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems_638374933745759020" order="2" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments_638374933745759020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems_638374933745759020" xlink:to="us-gaap_EquityMethodInvestments_638374933745759020" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_CashInvestmentCommitments" xlink:label="agx_CashInvestmentCommitments_638374933745759020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems_638374933745759020" xlink:to="agx_CashInvestmentCommitments_638374933745759020" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_InvestmentsTerm" xlink:label="agx_InvestmentsTerm_638374933745759020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems_638374933745759020" xlink:to="agx_InvestmentsTerm_638374933745759020" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaid" xlink:label="us-gaap_IncomeTaxesPaid_638374933745759020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems_638374933745759020" xlink:to="us-gaap_IncomeTaxesPaid_638374933745759020" order="4" use="optional" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638374933745759020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems_638374933745759020" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638374933745759020" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails" xlink:type="extended" xlink:title="41101 - Disclosure - NET INCOME PER SHARE (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract_635983993132446418" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638374933745769025" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_635983993132446418" xlink:to="us-gaap_NetIncomeLoss_638374933745769025" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/netLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638374933745769025" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_635983993132446418" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638374933745769025" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638374933745769025" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_635983993132446418" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638374933745769025" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638374933745769025" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_635983993132446418" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638374933745769025" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_638374933745769025" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_635983993132446418" xlink:to="us-gaap_EarningsPerShareBasic_638374933745769025" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_638374933745769025" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_635983993132446418" xlink:to="us-gaap_EarningsPerShareDiluted_638374933745769025" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureNetIncomePerShareAdditionalInformationDetails" xlink:type="extended" xlink:title="41102 - Disclosure - NET INCOME PER SHARE - Additional information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638374933745769025" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638374933745769025" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails" xlink:type="extended" xlink:title="41201 - Disclosure - CASH DIVIDENDS AND TREASURY STOCK (Details)">
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_CashDividendAndTreasuryStockAbstract" xlink:label="agx_CashDividendAndTreasuryStockAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_PercentageIncreaseInCommonStockDividendPerShare" xlink:label="agx_PercentageIncreaseInCommonStockDividendPerShare_638374933745779023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_CashDividendAndTreasuryStockAbstract_1" xlink:to="agx_PercentageIncreaseInCommonStockDividendPerShare_638374933745779023" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_638374933745779023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_CashDividendAndTreasuryStockAbstract_1" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_638374933745779023" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_638374933745779023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_CashDividendAndTreasuryStockAbstract_1" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_638374933745779023" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_638374933745779023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_CashDividendAndTreasuryStockAbstract_1" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_638374933745779023" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice_638374933745779023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_CashDividendAndTreasuryStockAbstract_1" xlink:to="us-gaap_SharePrice_638374933745779023" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_638374933745779023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_CashDividendAndTreasuryStockAbstract_1" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_638374933745779023" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation" xlink:label="agx_ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation_638374933745779023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_CashDividendAndTreasuryStockAbstract_1" xlink:to="agx_ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation_638374933745779023" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsPerShareCashPaid" xlink:label="us-gaap_CommonStockDividendsPerShareCashPaid_638374933745779023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_CashDividendAndTreasuryStockAbstract_1" xlink:to="us-gaap_CommonStockDividendsPerShareCashPaid_638374933745779023" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards" xlink:label="agx_TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards_638374933745779023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_CashDividendAndTreasuryStockAbstract_1" xlink:to="agx_TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards_638374933745779023" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails" xlink:type="extended" xlink:title="41301 - Disclosure - CUSTOMER CONCENTRATIONS (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable_638374933745779023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_ConcentrationRiskTable_638374933745779023" order="1" use="optional" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638374933745779023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638374933745779023" xlink:to="srt_ProductOrServiceAxis_638374933745779023" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638374933745789024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638374933745779023" xlink:to="srt_ProductsAndServicesDomain_638374933745789024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_PowerIndustryServicesMember" xlink:label="agx_PowerIndustryServicesMember_638374933745789024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638374933745789024" xlink:to="agx_PowerIndustryServicesMember_638374933745789024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_IndustrialConstructionServicesMember" xlink:label="agx_IndustrialConstructionServicesMember_638374933745789024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638374933745789024" xlink:to="agx_IndustrialConstructionServicesMember_638374933745789024" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_638374933745789024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638374933745779023" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_638374933745789024" order="2" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_638374933745789024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_638374933745789024" xlink:to="us-gaap_ConcentrationRiskTypeDomain_638374933745789024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductConcentrationRiskMember" xlink:label="us-gaap_ProductConcentrationRiskMember_638374933745789024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain_638374933745789024" xlink:to="us-gaap_ProductConcentrationRiskMember_638374933745789024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember_638374933745789024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain_638374933745789024" xlink:to="us-gaap_CustomerConcentrationRiskMember_638374933745789024" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_638374933745789024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638374933745779023" xlink:to="srt_MajorCustomersAxis_638374933745789024" order="3" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_638374933745789024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis_638374933745789024" xlink:to="srt_NameOfMajorCustomerDomain_638374933745789024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_MajorCustomerOneMember" xlink:label="agx_MajorCustomerOneMember_638374933745789024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638374933745789024" xlink:to="agx_MajorCustomerOneMember_638374933745789024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_MajorCustomerTwoMember" xlink:label="agx_MajorCustomerTwoMember_638374933745789024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638374933745789024" xlink:to="agx_MajorCustomerTwoMember_638374933745789024" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_MajorCustomerThreeMember" xlink:label="agx_MajorCustomerThreeMember_638374933745789024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638374933745789024" xlink:to="agx_MajorCustomerThreeMember_638374933745789024" order="3" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_MajorCustomerFourMember" xlink:label="agx_MajorCustomerFourMember_638374933745789024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638374933745789024" xlink:to="agx_MajorCustomerFourMember_638374933745789024" order="4" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_638374933745799024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638374933745779023" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_638374933745799024" order="4" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_638374933745799024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_638374933745799024" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_638374933745799024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember_638374933745799024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638374933745799024" xlink:to="us-gaap_SalesRevenueNetMember_638374933745799024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember_638374933745799024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638374933745799024" xlink:to="us-gaap_AccountsReceivableMember_638374933745799024" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsTotalMember" xlink:label="us-gaap_AssetsTotalMember_638374933745799024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638374933745799024" xlink:to="us-gaap_AssetsTotalMember_638374933745799024" order="3" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems_638374933745799024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638374933745779023" xlink:to="us-gaap_ConcentrationRiskLineItems_638374933745799024" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1_638374933745799024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_638374933745799024" xlink:to="us-gaap_ConcentrationRiskPercentage1_638374933745799024" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_NumberOfMajorCustomers" xlink:label="agx_NumberOfMajorCustomers_638374933745799024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_638374933745799024" xlink:to="agx_NumberOfMajorCustomers_638374933745799024" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureSegmentReportingDetails" xlink:type="extended" xlink:title="41401 - Disclosure - SEGMENT REPORTING (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract_636236170684758200" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638374933745809024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract_636236170684758200" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638374933745809024" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638374933745809024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638374933745809024" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638374933745809024" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638374933745809024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638374933745809024" xlink:to="us-gaap_SegmentDomain_638374933745809024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_PowerIndustryServicesMember" xlink:label="agx_PowerIndustryServicesMember_638374933745809024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638374933745809024" xlink:to="agx_PowerIndustryServicesMember_638374933745809024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_IndustrialConstructionServicesMember" xlink:label="agx_IndustrialConstructionServicesMember_638374933745809024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638374933745809024" xlink:to="agx_IndustrialConstructionServicesMember_638374933745809024" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_TelecommunicationsInfrastructureServicesMember" xlink:label="agx_TelecommunicationsInfrastructureServicesMember_638374933745809024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638374933745809024" xlink:to="agx_TelecommunicationsInfrastructureServicesMember_638374933745809024" order="3" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638374933745809024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638374933745809024" xlink:to="srt_ConsolidationItemsAxis_638374933745809024" order="2" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638374933745809024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638374933745809024" xlink:to="srt_ConsolidationItemsDomain_638374933745809024" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember_638374933745809024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638374933745809024" xlink:to="us-gaap_OperatingSegmentsMember_638374933745809024" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateNonSegmentMember" xlink:label="us-gaap_CorporateNonSegmentMember_638374933745809024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638374933745809024" xlink:to="us-gaap_CorporateNonSegmentMember_638374933745809024" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638374933745809024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638374933745809024" xlink:to="us-gaap_SegmentReportingInformationLineItems_638374933745809024" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments_638374933745809024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638374933745809024" xlink:to="us-gaap_NumberOfOperatingSegments_638374933745809024" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638374933745819024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638374933745809024" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_638374933745819024" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/netLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue_638374933745819024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638374933745809024" xlink:to="us-gaap_CostOfRevenue_638374933745819024" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638374933745819024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638374933745809024" xlink:to="us-gaap_GrossProfit_638374933745819024" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638374933745819024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638374933745809024" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638374933745819024" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638374933745819024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638374933745809024" xlink:to="us-gaap_OperatingIncomeLoss_638374933745819024" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_638374933745819024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638374933745809024" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_638374933745819024" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638374933745819024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638374933745809024" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638374933745819024" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638374933745819024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638374933745809024" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638374933745819024" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638374933745819024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638374933745809024" xlink:to="us-gaap_ProfitLoss_638374933745819024" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets_638374933745819024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638374933745809024" xlink:to="us-gaap_AmortizationOfIntangibleAssets_638374933745819024" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation_638374933745829024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638374933745809024" xlink:to="us-gaap_Depreciation_638374933745829024" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:label="us-gaap_SegmentExpenditureAdditionToLongLivedAssets_638374933745829024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638374933745809024" xlink:to="us-gaap_SegmentExpenditureAdditionToLongLivedAssets_638374933745829024" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638374933745829024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638374933745809024" xlink:to="us-gaap_AssetsCurrent_638374933745829024" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638374933745829024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638374933745809024" xlink:to="us-gaap_LiabilitiesCurrent_638374933745829024" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638374933745829024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638374933745809024" xlink:to="us-gaap_Goodwill_638374933745829024" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638374933745829024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638374933745809024" xlink:to="us-gaap_Assets_638374933745829024" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails" xlink:type="extended" xlink:title="41501 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details)">
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_SupplementalFinancialStatementInformationAbstract" xlink:label="agx_SupplementalFinancialStatementInformationAbstract" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_IncomeTaxRefundsAndPrepaidIncomeTaxes" xlink:label="agx_IncomeTaxRefundsAndPrepaidIncomeTaxes_638374933745829024" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_SupplementalFinancialStatementInformationAbstract" xlink:to="agx_IncomeTaxRefundsAndPrepaidIncomeTaxes_638374933745829024" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials" xlink:label="us-gaap_InventoryRawMaterials_638374933745839023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_SupplementalFinancialStatementInformationAbstract" xlink:to="us-gaap_InventoryRawMaterials_638374933745839023" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="us-gaap_PrepaidExpenseCurrent_638374933745839023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_SupplementalFinancialStatementInformationAbstract" xlink:to="us-gaap_PrepaidExpenseCurrent_638374933745839023" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMiscellaneousCurrent" xlink:label="us-gaap_OtherAssetsMiscellaneousCurrent_638374933745839023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_SupplementalFinancialStatementInformationAbstract" xlink:to="us-gaap_OtherAssetsMiscellaneousCurrent_638374933745839023" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent_638374933745839023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_SupplementalFinancialStatementInformationAbstract" xlink:to="us-gaap_OtherAssetsCurrent_638374933745839023" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails" xlink:type="extended" xlink:title="41502 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details)">
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_SupplementalFinancialStatementInformationAbstract" xlink:label="agx_SupplementalFinancialStatementInformationAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_AccruedProjectCostsCurrent" xlink:label="agx_AccruedProjectCostsCurrent_638374933745839023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_SupplementalFinancialStatementInformationAbstract_1" xlink:to="agx_AccruedProjectCostsCurrent_638374933745839023" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent_638374933745839023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_SupplementalFinancialStatementInformationAbstract_1" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent_638374933745839023" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_AccruedLeaseLiabilitiesCurrent" xlink:label="agx_AccruedLeaseLiabilitiesCurrent_638374933745839023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_SupplementalFinancialStatementInformationAbstract_1" xlink:to="agx_AccruedLeaseLiabilitiesCurrent_638374933745839023" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_638374933745839023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_SupplementalFinancialStatementInformationAbstract_1" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent_638374933745839023" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent_638374933745839023" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_SupplementalFinancialStatementInformationAbstract_1" xlink:to="us-gaap_AccruedLiabilitiesCurrent_638374933745839023" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails" xlink:type="extended" xlink:title="41503 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_SupplementalFinancialStatementInformationAbstract" xlink:label="agx_SupplementalFinancialStatementInformationAbstract_3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemTable" xlink:label="us-gaap_UnusualOrInfrequentItemTable_638374933745849027" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="agx_SupplementalFinancialStatementInformationAbstract_3" xlink:to="us-gaap_UnusualOrInfrequentItemTable_638374933745849027" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemAxis" xlink:label="us-gaap_UnusualOrInfrequentItemAxis_638374933745849027" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_UnusualOrInfrequentItemTable_638374933745849027" xlink:to="us-gaap_UnusualOrInfrequentItemAxis_638374933745849027" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemDomain" xlink:label="us-gaap_UnusualOrInfrequentItemDomain_638374933745849027" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_UnusualOrInfrequentItemAxis_638374933745849027" xlink:to="us-gaap_UnusualOrInfrequentItemDomain_638374933745849027" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="agx-20231031.xsd#agx_FraudulentlyInducedPaymentMember" xlink:label="agx_FraudulentlyInducedPaymentMember_638374933745849027" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_UnusualOrInfrequentItemDomain_638374933745849027" xlink:to="agx_FraudulentlyInducedPaymentMember_638374933745849027" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemLineItems" xlink:label="us-gaap_UnusualOrInfrequentItemLineItems_638374933745849027" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_UnusualOrInfrequentItemTable_638374933745849027" xlink:to="us-gaap_UnusualOrInfrequentItemLineItems_638374933745849027" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemNetGainLoss" xlink:label="us-gaap_UnusualOrInfrequentItemNetGainLoss_638374933745849027" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_UnusualOrInfrequentItemLineItems_638374933745849027" xlink:to="us-gaap_UnusualOrInfrequentItemNetGainLoss_638374933745849027" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:type="extended" xlink:title="995445 - Disclosure - Insider Trading Arrangements" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642008105760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - shares<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Dec. 01, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_DocumentAndEntityInformationAbstract', window );"><strong>Document And Entity Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Oct. 31,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-31756<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">ARGAN INC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">13-1947195<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">One Church Street, Suite 201<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Rockville<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">MD<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">20850<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">301<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">315-0027<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, $0.15 par value<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">AGX<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13,327,866<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000100591<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--01-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_DocumentAndEntityInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Document and entity information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_DocumentAndEntityInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642009066080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">REVENUES</a></td>
<td class="nump">$ 163,755<span></span>
</td>
<td class="nump">$ 117,875<span></span>
</td>
<td class="nump">$ 408,779<span></span>
</td>
<td class="nump">$ 336,262<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of revenues</a></td>
<td class="nump">144,520<span></span>
</td>
<td class="nump">95,667<span></span>
</td>
<td class="nump">351,578<span></span>
</td>
<td class="nump">269,929<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">GROSS PROFIT</a></td>
<td class="nump">19,235<span></span>
</td>
<td class="nump">22,208<span></span>
</td>
<td class="nump">57,201<span></span>
</td>
<td class="nump">66,333<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative expenses</a></td>
<td class="nump">11,375<span></span>
</td>
<td class="nump">12,667<span></span>
</td>
<td class="nump">32,467<span></span>
</td>
<td class="nump">34,226<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">INCOME FROM OPERATIONS</a></td>
<td class="nump">7,860<span></span>
</td>
<td class="nump">9,541<span></span>
</td>
<td class="nump">24,734<span></span>
</td>
<td class="nump">32,107<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income, net</a></td>
<td class="nump">3,733<span></span>
</td>
<td class="nump">768<span></span>
</td>
<td class="nump">7,222<span></span>
</td>
<td class="nump">1,868<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">INCOME BEFORE INCOME TAXES</a></td>
<td class="nump">11,593<span></span>
</td>
<td class="nump">10,309<span></span>
</td>
<td class="nump">31,956<span></span>
</td>
<td class="nump">33,975<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">6,129<span></span>
</td>
<td class="nump">2,551<span></span>
</td>
<td class="nump">11,616<span></span>
</td>
<td class="nump">14,510<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">NET INCOME</a></td>
<td class="nump">5,464<span></span>
</td>
<td class="nump">7,758<span></span>
</td>
<td class="nump">20,340<span></span>
</td>
<td class="nump">19,465<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments</a></td>
<td class="num">(882)<span></span>
</td>
<td class="num">(650)<span></span>
</td>
<td class="num">(627)<span></span>
</td>
<td class="num">(2,601)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax', window );">Net unrealized losses on available-for-sale securities</a></td>
<td class="num">(427)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,147)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">COMPREHENSIVE INCOME</a></td>
<td class="nump">$ 4,155<span></span>
</td>
<td class="nump">$ 7,108<span></span>
</td>
<td class="nump">$ 18,566<span></span>
</td>
<td class="nump">$ 16,864<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>NET INCOME PER SHARE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="nump">$ 0.41<span></span>
</td>
<td class="nump">$ 0.56<span></span>
</td>
<td class="nump">$ 1.52<span></span>
</td>
<td class="nump">$ 1.36<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="nump">$ 0.40<span></span>
</td>
<td class="nump">$ 0.56<span></span>
</td>
<td class="nump">$ 1.50<span></span>
</td>
<td class="nump">$ 1.36<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>WEIGHTED AVERAGE NUMBER OF SHARES OUTSTANDING</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">13,328<span></span>
</td>
<td class="nump">13,781<span></span>
</td>
<td class="nump">13,381<span></span>
</td>
<td class="nump">14,268<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">13,559<span></span>
</td>
<td class="nump">13,812<span></span>
</td>
<td class="nump">13,549<span></span>
</td>
<td class="nump">14,350<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">CASH DIVIDENDS PER SHARE</a></td>
<td class="nump">$ 0.30<span></span>
</td>
<td class="nump">$ 0.25<span></span>
</td>
<td class="nump">$ 0.80<span></span>
</td>
<td class="nump">$ 0.75<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends declared during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642008155056">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>CURRENT ASSETS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 185,569<span></span>
</td>
<td class="nump">$ 173,947<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Investments', window );">Investments</a></td>
<td class="nump">211,946<span></span>
</td>
<td class="nump">151,511<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">49,922<span></span>
</td>
<td class="nump">50,132<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Contract assets</a></td>
<td class="nump">25,391<span></span>
</td>
<td class="nump">24,778<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other current assets</a></td>
<td class="nump">41,243<span></span>
</td>
<td class="nump">38,334<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">TOTAL CURRENT ASSETS</a></td>
<td class="nump">514,071<span></span>
</td>
<td class="nump">438,702<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">10,786<span></span>
</td>
<td class="nump">10,430<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">28,033<span></span>
</td>
<td class="nump">28,033<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">2,315<span></span>
</td>
<td class="nump">2,609<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred taxes, net</a></td>
<td class="nump">3,132<span></span>
</td>
<td class="nump">3,689<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_OperatingLeaseRightOfUseAssetAndOtherAssets', window );">Right-of-use and other assets</a></td>
<td class="nump">5,315<span></span>
</td>
<td class="nump">6,024<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">TOTAL ASSETS</a></td>
<td class="nump">563,652<span></span>
</td>
<td class="nump">489,487<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>CURRENT LIABILITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">34,532<span></span>
</td>
<td class="nump">56,375<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">83,193<span></span>
</td>
<td class="nump">49,867<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Contract liabilities</a></td>
<td class="nump">156,169<span></span>
</td>
<td class="nump">96,261<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">TOTAL CURRENT LIABILITIES</a></td>
<td class="nump">273,894<span></span>
</td>
<td class="nump">202,503<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrent', window );">Noncurrent liabilities</a></td>
<td class="nump">4,925<span></span>
</td>
<td class="nump">6,087<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">TOTAL LIABILITIES</a></td>
<td class="nump">278,819<span></span>
</td>
<td class="nump">208,590<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">COMMITMENTS AND CONTINGENCIES (see Notes 7 and 8)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>STOCKHOLDERS' EQUITY</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, par value $0.10 per share - 500,000 shares authorized; no shares issued and outstanding</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, par value $0.15 per share - 30,000,000 shares authorized; 15,828,289 shares issued; 13,332,747 and 13,441,590 shares outstanding at October 31, 2023 and January 31, 2023, respectively</a></td>
<td class="nump">2,374<span></span>
</td>
<td class="nump">2,374<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">163,154<span></span>
</td>
<td class="nump">162,208<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">217,486<span></span>
</td>
<td class="nump">207,832<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Less treasury stock, at cost - 2,495,542 and 2,386,699 shares at October 31, 2023 and January 31, 2023, respectively</a></td>
<td class="num">(93,531)<span></span>
</td>
<td class="num">(88,641)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(4,650)<span></span>
</td>
<td class="num">(2,876)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">TOTAL STOCKHOLDERS' EQUITY</a></td>
<td class="nump">284,833<span></span>
</td>
<td class="nump">280,897<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY</a></td>
<td class="nump">$ 563,652<span></span>
</td>
<td class="nump">$ 489,487<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_OperatingLeaseRightOfUseAssetAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of lessee's right to use underlying asset under operating lease, and asset classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_OperatingLeaseRightOfUseAssetAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Investments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(h))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Investments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 23: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481520/505-30-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642003950960">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.10<span></span>
</td>
<td class="nump">$ 0.10<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">500,000<span></span>
</td>
<td class="nump">500,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.15<span></span>
</td>
<td class="nump">$ 0.15<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">30,000,000<span></span>
</td>
<td class="nump">30,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">15,828,289<span></span>
</td>
<td class="nump">15,828,289<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">13,332,747<span></span>
</td>
<td class="nump">13,441,590<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Treasury stock, shares</a></td>
<td class="nump">2,495,542<span></span>
</td>
<td class="nump">2,386,699<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642003716704">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Treasury Stock</div></th>
<th class="th"><div>Accumulated Other Comprehensive Loss</div></th>
<th class="th"><div>Non-controlling Interests</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balances at Jan. 31, 2022</a></td>
<td class="nump">$ 2,368<span></span>
</td>
<td class="nump">$ 158,190<span></span>
</td>
<td class="nump">$ 188,690<span></span>
</td>
<td class="num">$ (20,405)<span></span>
</td>
<td class="num">$ (2,451)<span></span>
</td>
<td class="num">$ (797)<span></span>
</td>
<td class="nump">$ 325,595<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Jan. 31, 2022</a></td>
<td class="nump">15,257,688<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19,465<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19,465<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax', window );">Foreign currency translation loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,601)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,601)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,055<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,055<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Stock option exercises and restricted stock unit settlements, net of shares withheld for exercise price and withholding taxes</a></td>
<td class="nump">$ 6<span></span>
</td>
<td class="nump">60<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">66<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Stock option exercises and restricted stock unit settlements, net of shares withheld for exercise price and withholding taxes (in shares)</a></td>
<td class="nump">39,099<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Common stock repurchases</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(63,252)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (63,252)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Common stock repurchases (in shares)</a></td>
<td class="num">(1,721,015)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,721,015)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCommonStockCash', window );">Cash dividends</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,588)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (10,588)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balances at Oct. 31, 2022</a></td>
<td class="nump">$ 2,374<span></span>
</td>
<td class="nump">161,305<span></span>
</td>
<td class="nump">197,567<span></span>
</td>
<td class="num">(83,657)<span></span>
</td>
<td class="num">(5,052)<span></span>
</td>
<td class="num">(797)<span></span>
</td>
<td class="nump">271,740<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Oct. 31, 2022</a></td>
<td class="nump">13,575,772<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balances at Jul. 31, 2022</a></td>
<td class="nump">$ 2,374<span></span>
</td>
<td class="nump">160,229<span></span>
</td>
<td class="nump">193,205<span></span>
</td>
<td class="num">(73,573)<span></span>
</td>
<td class="num">(4,402)<span></span>
</td>
<td class="num">(797)<span></span>
</td>
<td class="nump">277,036<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Jul. 31, 2022</a></td>
<td class="nump">13,884,195<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,758<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,758<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax', window );">Foreign currency translation loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(650)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(650)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,076<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,076<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Common stock repurchases</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,084)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,084)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Common stock repurchases (in shares)</a></td>
<td class="num">(308,423)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCommonStockCash', window );">Cash dividends</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,396)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,396)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balances at Oct. 31, 2022</a></td>
<td class="nump">$ 2,374<span></span>
</td>
<td class="nump">161,305<span></span>
</td>
<td class="nump">197,567<span></span>
</td>
<td class="num">(83,657)<span></span>
</td>
<td class="num">(5,052)<span></span>
</td>
<td class="num">$ (797)<span></span>
</td>
<td class="nump">271,740<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Oct. 31, 2022</a></td>
<td class="nump">13,575,772<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balances at Jan. 31, 2023</a></td>
<td class="nump">$ 2,374<span></span>
</td>
<td class="nump">162,208<span></span>
</td>
<td class="nump">207,832<span></span>
</td>
<td class="num">(88,641)<span></span>
</td>
<td class="num">(2,876)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">280,897<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Jan. 31, 2023</a></td>
<td class="nump">13,441,590<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,340<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,340<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax', window );">Foreign currency translation loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(627)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(627)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax', window );">Net unrealized losses on available-for-sale securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,147)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,147)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,416<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,416<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Stock option exercises and restricted stock unit settlements, net of shares withheld for exercise price and withholding taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,470)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,577<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,107<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Stock option exercises and restricted stock unit settlements, net of shares withheld for exercise price and withholding taxes (in shares)</a></td>
<td class="nump">103,598<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Common stock repurchases</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,467)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (8,467)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Common stock repurchases (in shares)</a></td>
<td class="num">(212,441)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(212,441)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCommonStockCash', window );">Cash dividends</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,686)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (10,686)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balances at Oct. 31, 2023</a></td>
<td class="nump">$ 2,374<span></span>
</td>
<td class="nump">163,154<span></span>
</td>
<td class="nump">217,486<span></span>
</td>
<td class="num">(93,531)<span></span>
</td>
<td class="num">(4,650)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">284,833<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Oct. 31, 2023</a></td>
<td class="nump">13,332,747<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balances at Jul. 31, 2023</a></td>
<td class="nump">$ 2,374<span></span>
</td>
<td class="nump">162,323<span></span>
</td>
<td class="nump">216,009<span></span>
</td>
<td class="num">(92,329)<span></span>
</td>
<td class="num">(3,341)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">285,036<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Jul. 31, 2023</a></td>
<td class="nump">13,353,653<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,464<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,464<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax', window );">Foreign currency translation loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(882)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(882)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax', window );">Net unrealized losses on available-for-sale securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(427)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(427)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,198<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,198<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Stock option exercises and restricted stock unit settlements, net of shares withheld for exercise price and withholding taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(367)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">527<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">160<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Stock option exercises and restricted stock unit settlements, net of shares withheld for exercise price and withholding taxes (in shares)</a></td>
<td class="nump">21,747<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Common stock repurchases</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,729)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,729)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Common stock repurchases (in shares)</a></td>
<td class="num">(42,653)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCommonStockCash', window );">Cash dividends</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,987)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,987)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balances at Oct. 31, 2023</a></td>
<td class="nump">$ 2,374<span></span>
</td>
<td class="nump">$ 163,154<span></span>
</td>
<td class="nump">$ 217,486<span></span>
</td>
<td class="num">$ (93,531)<span></span>
</td>
<td class="num">$ (4,650)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 284,833<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Oct. 31, 2023</a></td>
<td class="nump">13,332,747<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsCommonStockCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of paid and unpaid common stock dividends declared with the form of settlement in cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsCommonStockCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481839/830-10-45-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482014/830-20-35-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-5<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483550/848-10-65-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-4<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-3<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 34: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 38: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 39: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 40: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 41: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-15<br><br>Reference 42: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-16<br><br>Reference 43: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642003618912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>CASH FLOWS FROM OPERATING ACTIVITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 20,340<span></span>
</td>
<td class="nump">$ 19,465<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by (used in) operating activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock compensation expense</a></td>
<td class="nump">3,416<span></span>
</td>
<td class="nump">3,055<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet', window );">Changes in accrued interest on investments</a></td>
<td class="num">(1,876)<span></span>
</td>
<td class="num">(790)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">1,524<span></span>
</td>
<td class="nump">2,296<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Lease expense</a></td>
<td class="nump">1,335<span></span>
</td>
<td class="nump">1,871<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income tax expense (benefit)</a></td>
<td class="nump">497<span></span>
</td>
<td class="num">(209)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="nump">294<span></span>
</td>
<td class="nump">611<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Equity in loss (income) of solar energy investments</a></td>
<td class="nump">130<span></span>
</td>
<td class="num">(1,112)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNoncashIncomeExpense', window );">Other</a></td>
<td class="nump">157<span></span>
</td>
<td class="nump">20<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="nump">168<span></span>
</td>
<td class="num">(10,921)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset', window );">Contract assets</a></td>
<td class="num">(613)<span></span>
</td>
<td class="num">(6,647)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="num">(2,977)<span></span>
</td>
<td class="nump">6,184<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities', window );">Accounts payable and accrued expenses</a></td>
<td class="nump">9,960<span></span>
</td>
<td class="num">(7,952)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Contract liabilities</a></td>
<td class="nump">59,908<span></span>
</td>
<td class="num">(78,859)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by (used in) operating activities</a></td>
<td class="nump">92,263<span></span>
</td>
<td class="num">(72,988)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>CASH FLOWS FROM INVESTING ACTIVITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireHeldToMaturitySecurities', window );">Purchases of short-term investments</a></td>
<td class="num">(115,000)<span></span>
</td>
<td class="num">(249,750)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities', window );">Maturities of short-term investments</a></td>
<td class="nump">159,750<span></span>
</td>
<td class="nump">190,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt', window );">Purchases of available-for-sale securities</a></td>
<td class="num">(104,492)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property, plant and equipment</a></td>
<td class="num">(2,143)<span></span>
</td>
<td class="num">(2,582)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(61,885)<span></span>
</td>
<td class="num">(62,332)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>CASH FLOWS FROM FINANCING ACTIVITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Common stock repurchases</a></td>
<td class="num">(8,467)<span></span>
</td>
<td class="num">(63,252)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDividendsCommonStock', window );">Payments of cash dividends</a></td>
<td class="num">(10,686)<span></span>
</td>
<td class="num">(10,588)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from share-based award settlements</a></td>
<td class="nump">1,107<span></span>
</td>
<td class="nump">66<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash used in financing activities</a></td>
<td class="num">(18,046)<span></span>
</td>
<td class="num">(73,774)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">EFFECTS OF EXCHANGE RATE CHANGES ON CASH</a></td>
<td class="num">(710)<span></span>
</td>
<td class="num">(5,313)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS</a></td>
<td class="nump">11,622<span></span>
</td>
<td class="num">(214,407)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">CASH AND CASH EQUIVALENTS, BEGINNING OF PERIOD</a></td>
<td class="nump">173,947<span></span>
</td>
<td class="nump">350,472<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">CASH AND CASH EQUIVALENTS, END OF PERIOD</a></td>
<td class="nump">185,569<span></span>
</td>
<td class="nump">136,065<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract', window );"><strong>NON-CASH INVESTING AND FINANCING ACTIVITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Right-of-use assets obtained in exchange for lease obligations</a></td>
<td class="nump">706<span></span>
</td>
<td class="nump">935<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>SUPPLEMENTAL CASH FLOW INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaid', window );">Cash paid for income taxes</a></td>
<td class="nump">7,022<span></span>
</td>
<td class="nump">6,310<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_OperatingLeasesPaid', window );">Cash paid for operating leases</a></td>
<td class="nump">$ 1,340<span></span>
</td>
<td class="nump">$ 1,869<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_OperatingLeasesPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash paid for operating leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_OperatingLeasesPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) for proportionate share of equity method investee's income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amount due from borrowers for interest payments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482312/912-310-45-11<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating lease expense. Excludes sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNoncashIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNoncashIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDividendsCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividendsCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-11<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireHeldToMaturitySecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow through purchase of long-term held-to-maturity securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-11<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireHeldToMaturitySecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-11<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642011539360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock', window );">DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION</a></td>
<td class="text"><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 &#8211; 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. (&#8220;Argan&#8221;) conducts operations through its wholly-owned subsidiaries, Gemma Power Systems, LLC and affiliates (&#8220;GPS&#8221;); The Roberts Company, Inc. (&#8220;TRC&#8221;); Atlantic Projects Company Limited and affiliates (&#8220;APC&#8221;) and Southern Maryland Cable, Inc. (&#8220;SMC&#8221;). Argan and these consolidated subsidiaries are hereinafter collectively referred to as the &#8220;Company.&#8221; </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 customers include 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 &#8220;U.S.&#8221;), the Republic of Ireland (&#8220;Ireland&#8221;) and the United Kingdom (the &#8220;U.K.&#8221;). GPS and APC represent the Company&#8217;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 (&#8220;VIE&#8221;) 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&#8217;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&#8217;s fiscal year ends on January 31 each year. The condensed consolidated balance sheet as of October 31, 2023, the condensed consolidated statements of earnings and stockholders&#8217; equity for the three and nine months ended October 31, 2023 and 2022, and the condensed consolidated statements of cash flows for the nine months ended October 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 &#8220;SEC&#8221;). 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 (&#8220;U.S. GAAP&#8221;) 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&#8217;s report thereon, that are included in the Company&#8217;s Annual Report on Form 10-K for the fiscal year ended January 31, 2023 (&#8220;Fiscal 2023&#8221;).</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 October 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 &#8220;FASB&#8221;) issued Accounting Standards Update (&#8220;ASU&#8221;) 2023-02, <i style="font-style:italic;">Investments&#8212;Equity Method and Joint Ventures (Topic 323): Accounting for Investments in Tax Credit Structures Using the Proportional Amortization Method </i>(&#8220;ASU 2023-02&#8221;), 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&#8217;s investments in energy tax credit structures entered into prior to Fiscal 2023 do not qualify for the proportional amortization method allowed 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;">In November 2023, the FASB issued ASU 2023-07, <i style="font-style:italic;">Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</i> introducing key amendments to enhance disclosures in public entities&#8217; reportable segments. Notable changes include the mandatory disclosure of significant segment expenses regularly provided to the chief operating decision maker (&#8220;CODM&#8221;), disclosure of other segment items, and requirements for consistency in reporting measures used by the CODM. The amendments in this update are effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the effects, if any, that the adoption of ASU 2023-07 may have on its financial position, results of operations, cash flows, or disclosures.</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 (&#8220;AFS&#8221;) securities are stated at fair value, as presented below, 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, and realized gains and losses are included in other income or expense, as applicable, in the Company&#8217;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 (&#8220;ASC&#8221;) 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 that the Company would be required to sell the AFS security before recovery, impairment is recognized in earnings with a corresponding adjustment to the security&#8217;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 &#8211; 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 &#8211; 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 &#8211; Inputs are unobservable inputs based on a company&#8217;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;">The following table shows the Company&#8217;s financial instruments as of October 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;">&#8203;</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:87.88%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:29.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:29.29%;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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.01%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.01%;border-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:center;margin:0pt;"><b style="font-weight:bold;">January&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;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;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;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;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;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;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;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;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;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;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;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;"><b style="font-weight:bold;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Cash equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.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 6pt;">Money market fund</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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.89%;background:#cceeff;margin:0pt;padding:0pt;"><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,022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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.72%;background:#cceeff;margin:0pt;padding:0pt;"><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.94%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:29.29%;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.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.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 6pt;">U.S. Treasury notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,700</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:29.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 6pt;">U.S. corporate debt security</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-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;"> 9,217</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-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;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:29.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;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px 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.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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,022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px 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.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103,917</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px 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.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px 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.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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.94%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px 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.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px 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.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;">The carrying value amounts presented in the condensed consolidated balance sheets for the Company&#8217;s other current assets, including cash, certificates of deposit (&#8220;CDs&#8221;), 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;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;">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 shares of treasury stock provided for settlements or sold at a price higher than its cost, the gain is recorded to additional paid-in capital. For shares of 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 the account. Any losses in excess of that amount are recorded to retained earnings. </p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480424/946-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480424/946-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//810/tableOfContent<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//205/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642012830944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUES FROM CONTRACTS WITH CUSTOMERS<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>REVENUES FROM CONTRACTS WITH CUSTOMERS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">REVENUES FROM CONTRACTS WITH CUSTOMERS</a></td>
<td class="text"><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 2 &#8211; 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&#8217;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&#8217;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&#8217;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. For a project being performed by APC to construct a gas-fired power facility in Northern Ireland, an estimated loss at completion of approximately $7.9 million was recognized during the quarter ended October 31, 2023. Accordingly, APC recorded a loss during the three-month period ended October 31, 2023, in the amount of approximately $10.7 million, which includes an unfavorable adjustment of estimated gross profit of approximately $2.8 million recorded in previous periods. For the nine-month period ended October 31, 2023, the recorded loss related to the contract is $11.5 million, which includes an unfavorable adjustment of estimated gross profit recorded in the prior year in the amount of approximately $3.6 million. This project is expected to be completed by APC early next year. </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&#8217;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&#8217;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 0pt 8pt 0pt;">The Company&#8217;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&#8217;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 three and nine months ended October 31, 2023 and 2022, there were no significant 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&#8217;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 nine months ended October 31, 2023 and 2022, that were included in the balances of contract liabilities as of January 31, 2023 and 2022, respectively, were approximately $94.2 million and $127.6 million, respectively. The amounts of revenues recognized during the three months ended October 31, 2023 and 2022 that were included in the balances of contract liabilities as of July 31, 2023 and 2022, respectively, were approximately $53.8 million and $48.7 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 October 31, 2023 and January 31, 2023 were $19.2 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&#8217;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 October 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 $6.7 million and $11.6 million, respectively. Variations related to the Company&#8217;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&#8217;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&#8217;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 0pt 8pt 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&#8217;s activities and progress are adversely affected by delayed or damaged materials, challenges with equipment performance or other events out of the Company&#8217;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 (&#8220;RUPO&#8221;)</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&#8217;s customer contracts include the right for customers to terminate contracts for convenience. The value of future work that 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. These types of arrangements do not qualify as RUPO. Predominantly, the Company&#8217;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 October 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 (&#8220;EPC&#8221;) 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 21% of the RUPO amount at October 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 (&#8220;Fiscal 2024&#8221;). Most of the remaining amount of the RUPO amount at October 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;">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 October 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 </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;">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 nine months ended October 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;">&#8203;</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:85.55%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:26.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:26.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.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:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended October&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.81%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended October&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.84%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.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:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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-weight:bold;visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.24%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.22%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.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;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 92,066</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;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.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;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.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 239,866</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;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.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 256,031</p></td></tr><tr><td style="vertical-align:bottom;width:26.15%;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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><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,359</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.63%;margin:0pt;padding:0pt;"><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,833</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 139,014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,019</p></td></tr><tr><td style="vertical-align:bottom;width:26.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;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;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;"> 3,330</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.13%;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;"> 29,899</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;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;"> 33,212</p></td></tr><tr><td style="vertical-align:bottom;width:26.15%;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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 163,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px 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:13.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;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,875</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;border-bottom:3px 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:13.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 408,779</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:3px 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:13.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 336,262</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;">&#8203;</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&#8217;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><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-15<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642013802288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CASH, CASH EQUIVALENTS AND INVESTMENTS<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', window );"><strong>CASH, CASH EQUIVALENTS AND INVESTMENTS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock', window );">CASH, CASH EQUIVALENTS AND INVESTMENTS</a></td>
<td class="text"><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 3 &#8211; 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 October 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, including 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 October 31, 2023 and January 31, 2023 were $0.5 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&#8217;s investments consisted of the following as of October 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;">&#8203;</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:67.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;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;"><b style="font-weight:bold;">October&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;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;"><b style="font-weight:bold;">January&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  108,029</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.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;"><span style="white-space:pre-wrap;">  151,511</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;border-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;">  103,917</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  211,946</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px 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:11.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;"><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;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</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;"><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 October 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 &#8220;Bank&#8221;). 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 October 31, 2023 and January 31, 2023, the weighted average annual interest rates of the outstanding CDs were 5.4% and 2.5%, respectively. The balances of accrued interest on the CDs at October 31, 2023 and January 31, 2023 were $3.0 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 October 31, 2023 consisted of U.S. Treasury notes and a U.S. corporate debt security with original maturities of <span style="-sec-ix-hidden:Hidden_orIKaN3q4UiNEKA6QCAiFA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">two</span></span> or three years. The Company&#8217;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 October 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;">&#8203;</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:39.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:39.7%;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="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:58.24%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.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="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;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="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;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;"><b style="font-weight:bold;">Allowance for</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-weight:bold;visibility:hidden;">&#8203;</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;"><b style="font-weight:bold;">Gross</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-weight:bold;visibility:hidden;">&#8203;</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;"><b style="font-weight:bold;">Gross</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.12%;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;"><b style="font-weight:bold;">Estimated</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.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="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" 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:center;margin:0pt;"><b style="font-weight:bold;">Amortized</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;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;"><b style="font-weight:bold;">Credit</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-weight:bold;visibility:hidden;">&#8203;</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;"><b style="font-weight:bold;">Unrealized</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-weight:bold;visibility:hidden;">&#8203;</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;"><b style="font-weight:bold;">Unrealized</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.12%;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;"><b style="font-weight:bold;">Fair</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.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="visibility:hidden;">&#8203;</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" 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:center;margin:0pt;"><b style="font-weight:bold;">Cost</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.12%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.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;">U.S. Treasury notes:</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.7%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,282</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.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;"> 3</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.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;"> 357</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,928</p></td></tr><tr><td style="vertical-align:bottom;width:39.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 6pt;">Due in two to three years</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><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,514</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 742</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;background:#cceeff;margin:0pt;padding:0pt;"><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,772</p></td></tr><tr><td style="vertical-align:bottom;width:39.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">U.S. corporate debt security:</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.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 6pt;">Due in two to three years</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;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;"> 9,268</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;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;"> 51</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;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;"> 9,217</p></td></tr><tr><td style="vertical-align:bottom;width:39.7%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,064</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px 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.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px 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.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px 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.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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,150</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px 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.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103,917</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;">&#8203;</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 October 31, 2023, interest receivable in the amount of $0.8 million is <span style="-sec-ix-hidden:Hidden_VUj7GkZRd0aiWjArR6w1hw;"><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 nine months ended October 31, 2023, the change in net unrealized holding losses for the Company&#8217;s AFS securities reported in other comprehensive income was approximately $0.4 million and $1.1 million, respectively. For the three and nine months ended October 31, 2023, there were no sales of the Company&#8217;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 October 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&#8217;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;">&#8203;</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 or invested in CDs purchased from the Bank. In addition, the Company has cash invested in a money market fund at a separate institution. 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. As of October 31, 2023, approximately 23% of the Company&#8217;s cash and cash equivalents were held by financial institutions in Ireland and the U.K. 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><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of the components of cash, cash equivalents, and short-term investments. Short-term investments may include current marketable securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//320/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642012928208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCOUNTS RECEIVABLE<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>ACCOUNTS RECEIVABLE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_TradeAndOtherReceivablesDisclosureTextBlock', window );">ACCOUNTS RECEIVABLE</a></td>
<td class="text"><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 &#8211; 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&#8217;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&#8217;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 nine months ended October 31, 2023 and 2022 were insignificant. The allowance for credit losses at October 31, 2023 and January 31, 2023 was $1.8 million. </p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_TradeAndOtherReceivablesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_TradeAndOtherReceivablesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642012978128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INTANGIBLE ASSETS<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>INTANGIBLE ASSETS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">INTANGIBLE ASSETS</a></td>
<td class="text"><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 &#8211; 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 October 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&#8217;s intangible assets, other than goodwill, relate primarily to the industrial construction services segment and consisted of the following as of October 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;">&#8203;</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:20.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:20.36%;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="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:31.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;text-align:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:31.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;text-align:center;margin:0pt;"><b style="font-weight:bold;">January&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.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;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;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;"><b style="font-weight:bold;">Estimated</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;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;"><b style="font-weight:bold;">Gross</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.77%;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;"><b style="font-weight:bold;">Accumulated</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;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;"><b style="font-weight:bold;">Net</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;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;"><b style="font-weight:bold;">Gross</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.77%;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;"><b style="font-weight:bold;">Accumulated</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;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;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.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;">&#8203;</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Useful Life</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Amounts</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.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:center;margin:0pt;"><b style="font-weight:bold;">Amortization</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Amounts</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Amounts</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.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:center;margin:0pt;"><b style="font-weight:bold;">Amortization</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.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;">Trade names</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"><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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;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.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;"> 2,375</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"><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,124</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"><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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;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.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;"> 2,150</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"><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:20.36%;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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> 725</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-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;"> 191</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-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:20.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 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px 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.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,100</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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,315</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px 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.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;"> 2,806</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;visibility:hidden;">&#8203;</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 future amounts of amortization related to purchased intangibles for each of the five succeeding fiscal years are $0.1 million (November 1, 2023 to January 31, 2024), $0.4 million (year ending January 31, 2025), $0.4 million (year ending January 31, 2026), $0.3 million (year ending January 31, 2027), $0.3 million (year ending January 31, 2028), and $0.8 million (thereafter).</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350-30/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642130588304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FINANCING ARRANGEMENTS<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>FINANCING ARRANGEMENTS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">FINANCING ARRANGEMENTS</a></td>
<td class="text"><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 6 &#8211; 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 &#8220;Credit Agreement&#8221;) 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 &#8220;Second Amendment&#8221;) to the Credit Agreement. The Second Amendment modified the Credit Amendment, primarily, to replace the interest pricing with the Secured Overnight Financing Rate (&#8220;SOFR&#8221;) 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&#8217;s use in the ordinary course of business as defined in the Credit Agreement. The Company intends to renew the Credit Agreement prior to its current 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 October 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 $13.2 million at October 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&#8217;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 October 31, 2023 and January 31, 2023, the Company was in compliance with the covenants of the Credit Agreement, as amended.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//470/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642013759840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_CommitmentDisclosureAbstract', window );"><strong>COMMITMENTS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsDisclosureTextBlock', window );">COMMITMENTS</a></td>
<td class="text"><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 &#8211; 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&#8217;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;">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 </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;">term. As the implicit rate is not determinable in most of the Company&#8217;s leases, management uses the Company&#8217;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 October 31, 2023 and January 31, 2023, were $4.1 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 nine months ended October 31, 2023 were $0.5 million and $1.3 million, respectively, and they were $0.6 million and $1.9 million for the three and nine months ended October 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 October 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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ending January&#160;31,&#160;</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;">&#160;&#160;&#160;&#160;</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;"> 436</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;">&#8203;</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;">&#8203;</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,466</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;"> 818</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;">&#8203;</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;">&#8203;</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,411</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;">&#8203;</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;">&#8203;</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;"> 254</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;">&#8203;</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;">&#8203;</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,157</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_qWc9YZ_6xkerbBuXoOIA4w;"><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;">&#8203;</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;">&#8203;</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,447</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_iqQwAB-AiEed2DHu2UYUkQ;"><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;">&#8203;</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;"> 2,710</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;">&#8203;</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 October 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.</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 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 nine months ended October 31, 2023 were $3.4 million and $10.1 million, respectively, and they were $3.5 million and $8.8 million for the three and nine months ended October 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&#8217;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 October 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;">As of October 31, 2023 and January 31, 2023, the estimated amounts of the Company&#8217;s unsatisfied bonded performance obligations, covering all of its subsidiaries, were approximately $0.5 billion and $0.6 billion, respectively. As of October 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 </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;">development efforts. A liability was established for the estimated loss related to this guarantee during the year ended January 31, 2022 (&#8220;Fiscal 2022&#8221;).</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_gMBAheEq_kOzx0KxveqGYw;"><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_I7q3rmom0067CqYEeBSZVA;"><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&#8217;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><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_CommitmentDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_CommitmentDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642013759840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEGAL CONTINGENCIES<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>LEGAL CONTINGENCIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LegalMattersAndContingenciesTextBlock', window );">LEGAL CONTINGENCIES</a></td>
<td class="text"><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 &#8211; 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 October 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;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LegalMattersAndContingenciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//450/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LegalMattersAndContingenciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642013735792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>STOCK-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">STOCK-BASED COMPENSATION</a></td>
<td class="text"><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 &#8211; 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&#8217;s stockholders approved the adoption of the 2020 Stock Plan (the &#8220;2020 Plan&#8221;), and the allocation of 500,000 shares of the Company&#8217;s common stock for issuance thereunder. On June 20, 2023, the Company&#8217;s stockholders approved an allocation of an additional 500,000 shares for issuance under the 2020 Plan. The Company&#8217;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 &#8220;2011 Plan&#8221;); the Company&#8217;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 &#8220;Stock Plans.&#8221;</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 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&#8217;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_Mr14uOmysEucC82tsWJH9g;"><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_Uk_dwLKzMEGjcw8lOl7pTQ;"><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 October 31, 2023, there were 2,259,896 shares of common stock reserved for issuance under the Stock Plans; this number includes 578,587 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 nine months ended October 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:36.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr></table><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><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.36%;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;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.36%;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;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.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;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.36%;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;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.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;"><b style="font-weight:bold;">Average Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.36%;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;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.07%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Price Per Share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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:center;margin:0pt;"><b style="font-weight:bold;">Term&#160;(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.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:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;margin:0pt;padding:0pt;"><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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"> 5.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><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:36.34%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"><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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;margin:0pt;padding:0pt;"><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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (91)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27.24</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;margin:0pt;padding:0pt;"><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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;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, October&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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,358</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><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.93</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"> 4.89</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><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.42</p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exercisable, October&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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,230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;margin:0pt;padding:0pt;"><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.45</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"> 4.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><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.70</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;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, October&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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,405</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><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.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"> 5.61</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><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.17</p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exercisable, October&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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,188</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;margin:0pt;padding:0pt;"><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.76</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"> 5.11</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><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.69</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;">&#8203;</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 nine months ended October 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:74.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.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:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><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:74.12%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><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:74.12%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;margin: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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><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:74.12%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><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:74.12%;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, October&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><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:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;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, October&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  217</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><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.33</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;">&#8203;</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 nine months ended October 31, 2023 was $1.5 million. The total intrinsic value amount related to the stock options exercised during the nine months ended October 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 where the options were &#8220;in-the-money&#8221; exceeded the aggregate exercise prices of such options at October 31, 2023 by $6.8 million and $5.9 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&#8217;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 nine months ended October 31, 2023, the Company awarded total stock return performance-based restricted stock units (&#8220;PRSUs&#8221;) 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 (&#8220;EPRSUs&#8221;) 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 (&#8220;RPRSUs&#8221;) 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 (&#8220;TRSUs&#8221;) covering </span><span style="background:#ffffff;">52,800</span><span style="background:#ffffff;"> shares of common stock, and </span><span style="background:#ffffff;">1,492</span><span style="background:#ffffff;"> shares based on the amount of cash dividends deemed paid on shares earned pursuant to the awards. During the nine months ended October 31, 2022, the Company awarded PRSUs covering a target of </span><span style="background:#ffffff;">26,000</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;">72,500</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 nine months ended October 31, 2023, and the weighted average fair value per share for each restricted stock unit, 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;white-space:nowrap;width:74.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:2.44%;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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.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:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:74.08%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;"><span style="white-space:pre-wrap;">  104</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31.68</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;text-align:right;margin:0pt;"> (42)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><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.80</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;border-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;"> (49)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;margin:0pt;padding:0pt;"><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.57</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;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, October&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  323</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.59</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;border-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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;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, October&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  298</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29.42</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;">&#8203;</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 October 31, 2023 and 2022, respectively. Expense amounts related to stock awards were $3.4 million and $3.1 million for the nine months ended October 31, 2023 and 2022, respectively. At October 31, 2023, there was $6.4 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_Trjnt_zL3kmpBU4lMTu6kg;"><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&#8217;s current annual regular dividend amount. The calculations of the expected volatility factors are based on the monthly closing prices of the Company&#8217;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><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642008136912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>INCOME TAXES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">INCOME TAXES</a></td>
<td class="text"><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 &#8211; 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&#8217;s income tax amounts for the nine months ended October 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;">&#8203;</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:61.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">&#8203;</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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:36.16%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended October&#160;31,&#160;</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;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.03%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.01%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2022</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;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:13.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;"><span style="white-space:pre-wrap;">  6,711</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;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.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;">  7,135</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="visibility:hidden;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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;">Unrecognized tax loss benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="white-space:pre-wrap;">  3,255</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> &#8212;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="white-space:pre-wrap;">  2,023</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">  486</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> (1,699)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> (194)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="white-space:pre-wrap;">  672</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">  757</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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;">Meals and entertainment expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="white-space:pre-wrap;">  385</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">  48</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">  6,181</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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;">Other permanent differences and adjustments, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;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;"><span style="white-space:pre-wrap;">  269</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;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;"><span style="white-space:pre-wrap;">  97</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:3px 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:13.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;"><span style="white-space:pre-wrap;">  11,616</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;border-bottom:3px 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:13.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,510</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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 nine months ended October 31, 2023 was $3.0 million. Foreign income tax expense for the nine months ended October 31, 2022 was not material. &#160; &#160; &#160; </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 (&#8220;NOL&#8221;) 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 &#8220;CARES Act&#8221;) 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&#8217;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 &#8220;IRS&#8221;) requesting carryback refunds of income taxes paid for the years ended January 31, 2016 (&#8220;Fiscal 2016&#8221;) and 2015 (&#8220;Fiscal 2015&#8221;) in the total amount of approximately $12.7 million during the fiscal year ended January 31, 2021 (&#8220;Fiscal 2021&#8221;). 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&#8217;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. In May 2023, the Company received notification that its amended federal income tax returns for Fiscal 2021 and Fiscal 2022 were selected for examination. At October 31, 2023, the examination was in its early stages.</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;">As of October 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.6 million and $15.3 million, respectively. The income tax refunds included the amount expected to be received from the IRS upon </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;">its review and approval of the Company&#8217;s NOL carryback refund request and the completion of its examination of the amended tax returns for Fiscal 2022 and Fiscal 2021 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. </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. At October 31, 2023 and January 31, 2023, the investment account balances were </span><span style="font-family:'inherit';background:#ffffff;">$1.0</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. As of October 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.</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-family:'inherit';background:#ffffff;">During the three and nine months ended October 31, 2023, the investment balance was adjusted to reflect the Company&#8217;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 nine months ended October 31, 2022, the investment balance was adjusted to reflect the Company&#8217;s share of the income of the investment entities in the amounts of approximately </span><span style="font-family:'inherit';background:#ffffff;">$0.6</span><span style="font-family:'inherit';background:#ffffff;"> million and </span><span style="font-family:'inherit';background:#ffffff;">$1.1</span><span style="font-family:'inherit';background:#ffffff;"> million, respectively. These net amounts have been included as other loss or income in the Company&#8217;s condensed consolidated statement of earnings for the corresponding periods.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642130588304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NET INCOME PER SHARE<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>NET INCOME PER SHARE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">NET INCOME PER SHARE</a></td>
<td class="text"><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 11 &#8211; 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 notes):</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:59.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:37.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:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended October&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.03%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,464</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px 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:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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,758</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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 &#8211; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,328</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,781</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;border-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;">  231</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;border-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;">  31</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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 &#8211; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,559</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,812</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:3px 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:14.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.41</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px 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:14.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.56</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.40</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px 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:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.56</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 October 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">690,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;">1,146,834</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:61.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:36.16%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended October&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.43%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.4%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:3px 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:14.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,340</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px 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:14.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;"> 19,465</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.31%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">Weighted average number of shares outstanding &#8211; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,381</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"> 14,268</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.26%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.32%;border-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;">  168</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="white-space:pre-wrap;">  82</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">Weighted average number of shares outstanding &#8211; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,549</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"> 14,350</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.31%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">Net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.26%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:3px 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:14.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;"><span style="white-space:pre-wrap;">  1.52</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:3px 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:14.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.36</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:3px 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:14.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.50</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px 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:14.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;"><span style="white-space:pre-wrap;">  1.36</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 nine months ended October 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">881,056</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;">1,103,334</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><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642013794192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CASH DIVIDENDS AND TREASURY STOCK<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_CashDividendAndTreasuryStockAbstract', window );"><strong>CASH DIVIDENDS AND TREASURY STOCK</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_CashDividendAndTreasuryStockTextBlock', window );">CASH DIVIDENDS AND TREASURY STOCK</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 12 &#8211; CASH DIVIDENDS AND COMMON STOCK REPURCHASES</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 September 19, 2023, Argan&#8217;s board of directors increased the Company&#8217;s quarterly cash dividend by 20% from $0.25 to $0.30 per share of common stock, which was <span style="-sec-ix-hidden:Hidden_Ajgz7_ecxkKV3UHC2MTVfw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">paid</span></span> on October 31, 2023 to stockholders of record at the close of business on October 23, 2023. The Company also made regular quarterly cash dividend payments in the amount of $0.25 per share of common stock in July 2023 and April 2023. During the nine months ended October 31, 2022, the board of directors declared three regular quarterly cash dividends, each in the amount of $0.25 per share of common stock, which were paid to stockholders in October 2022, July 2022 and April 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&#8217;s board of directors, the Company repurchased shares of its common stock during the nine months ended October 31, 2023 and 2022 and added the shares to treasury stock. During these periods, the Company repurchased 212,441 shares and 1,721,015 shares of common stock, all on the open market, for aggregate prices of approximately <span style="-sec-ix-hidden:Hidden_hjEpon2EBUa5fTiijqbvbQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$8.4</span></span> million, or $39.67 per share, and $63.3 million, or $36.75 per share, respectively. For the nine months ended October 31, 2023, the Company accepted 29,058 shares of common stock at the average price per share of $47.16 for the exercise price and/or tax withholding in connection with stock option exercises and other share-based award settlements. For the nine months ended October 31, 2022, the Company did not accept any shares of common stock for such transactions.</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 nine months ended October 31, 2023, the Company used 132,656 shares of treasury stock to settle stock option exercises and other share-based awards. For the nine months ended October 31, 2022, no shares of treasury stock were used to settle such transactions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">In August 2022, the Inflation Reduction Act (the &#8220;IRA&#8221;) was signed into law, which introduced a 1% excise tax on the value of shares repurchased after December 31, 2022. For the nine months ended October 31, 2023, the excise tax was not material.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_CashDividendAndTreasuryStockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_CashDividendAndTreasuryStockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_CashDividendAndTreasuryStockTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for cash dividend and treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_CashDividendAndTreasuryStockTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642013750880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CUSTOMER CONCENTRATIONS<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RisksAndUncertaintiesAbstract', window );"><strong>CUSTOMER CONCENTRATIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskDisclosureTextBlock', window );">CUSTOMER CONCENTRATIONS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">NOTE 13 &#8211; 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&#8217;s consolidated revenues relate to performance by the power industry services segment which provided 74% and 77% of consolidated revenues for the three months ended October 31, 2023 and 2022, respectively, and 73% and 76% of consolidated revenues for the nine months ended October 31, 2023 and 2022, respectively. The industrial construction services segment represented 23% and 19% of consolidated revenues for the three months ended October 31, 2023 and 2022, respectively, and 25% and 20% of consolidated revenues for the nine months ended October 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;">The Company&#8217;s most significant customer relationships for the three months ended October 31, 2023 included three power industry service customers, which accounted for 23%, 20%, and 17% of consolidated revenues. The Company&#8217;s most significant customer relationships for the three months ended October 31, 2022 included four power industry service customers, which accounted for 33%, 12%, 12% and 12% of consolidated revenues.&#160;The Company&#8217;s most significant customer relationships for the nine months ended October 31, 2023 included three power industry service customers, which </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;">accounted for 19%, 17% and 14% of consolidated revenues.&#160;The Company&#8217;s most significant customer relationship for the nine months ended October 31, 2022 included one power industry service customer, which accounted for 42% of consolidated revenues.&#160; </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 two major customers represented 42% and 14% of the corresponding consolidated balance as of October 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 associated with two major customers represented 30% and 14% of the corresponding consolidated balance as of October 31, 2023. The contract asset balance associated with one major customer represented 70% of the corresponding consolidated balance as of January 31, 2023.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//275/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RisksAndUncertaintiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RisksAndUncertaintiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642013810560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT REPORTING<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>SEGMENT REPORTING</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">SEGMENT REPORTING</a></td>
<td class="text"><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 &#8211; 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&#8217;s chief executive officer, who is the chief operating decision maker, in determining how to allocate resources and in assessing performance. The Company&#8217;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 nine months ended October 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&#8217;s reportable business segments for the three and nine months ended October 31, 2023 and 2022. The &#8220;Other&#8221; column in each summary includes the Company&#8217;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;">&#8203;</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:43.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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;"><b style="font-weight:bold;">Three Months Ended </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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;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;"><b style="font-weight:bold;">Power</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="visibility:hidden;">&#8203;</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:10pt;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.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;">&#8203;</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:10pt;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.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;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;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-weight:bold;visibility:hidden;">&#8203;</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;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;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;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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:center;margin:0pt;"><b style="font-weight:bold;">Services</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;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-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: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:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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:43.99%;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.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;">&#8203;</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.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;">  121,300</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,434</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;">&#8203;</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,021</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;">&#8203;</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.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">  163,755</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  107,781</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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,899</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;">&#8203;</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;">&#160;</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,840</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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</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;">&#160;</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;">  144,520</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#160;</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,519</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,535</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;">&#8203;</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;">&#160;</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,181</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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">&#160;</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;">  19,235</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  6,390</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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,626</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;">&#8203;</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;">&#8203;</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;">  608</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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,751</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;">&#8203;</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;">&#8203;</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;">  11,375</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  7,129</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,909</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;">&#8203;</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;">&#8203;</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;">  573</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin: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,751)</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;">&#8203;</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;">&#8203;</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;">  7,860</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#160;</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,391</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;">  342</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;">&#8203;</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;">&#160;</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,733</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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.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;">  10,520</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,909</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;">&#8203;</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;">  573</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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin: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,409)</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;">&#8203;</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;">&#160;</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;">  11,593</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#160;</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;">  6,129</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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;">&#8203;</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;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">  5,464</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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.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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;">&#8203;</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;"> &#8212;</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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  137</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  249</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;">&#8203;</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;">&#8203;</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;">  102</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;">&#8203;</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;">&#8203;</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;">  489</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  583</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  497</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;">&#8203;</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;">&#8203;</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;">  31</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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,112</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin: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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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.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,489</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  39,843</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;">&#8203;</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,701</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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,038</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;">&#8203;</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;">  514,071</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  244,662</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  25,839</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;">&#8203;</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;">&#8203;</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,801</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,592</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;">&#8203;</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;">&#8203;</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;">  273,894</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  18,476</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;">&#8203;</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;">&#8203;</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.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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">&#8203;</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:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  426,466</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,112</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;">&#8203;</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;">&#8203;</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;">  6,519</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  73,555</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;">&#8203;</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;">&#8203;</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;">  563,652</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;">&#8203;</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;">&#8203;</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:43.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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;"><b style="font-weight:bold;">Three Months Ended </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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;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;"><b style="font-weight:bold;">Power</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-weight:bold;visibility:hidden;">&#8203;</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:10pt;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.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;">&#8203;</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:10pt;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.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;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;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-weight:bold;visibility:hidden;">&#8203;</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;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;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;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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:center;margin:0pt;"><b style="font-weight:bold;">Services</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-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: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:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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:43.99%;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.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;">&#8203;</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.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;">  90,682</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,137</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;">&#8203;</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;">  5,056</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;">&#8203;</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.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">  117,875</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  72,725</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;">  18,737</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;">&#8203;</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;">&#160;</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,205</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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</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;">&#160;</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;">  95,667</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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,957</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,400</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;">&#8203;</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;">&#160;</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;">  851</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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">&#160;</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,208</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  6,745</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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,823</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;">&#8203;</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;">&#8203;</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;">  796</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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,303</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;">&#8203;</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;">&#160;</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;">  12,667</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  11,212</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,577</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;">&#8203;</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;">&#8203;</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;">  55</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin: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,303)</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;">&#8203;</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;">&#8203;</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;">  9,541</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  592</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;">  176</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;">&#8203;</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;">&#160;</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;">  768</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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.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,804</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,577</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;">&#8203;</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;">  55</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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin: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,127)</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;">&#8203;</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;">&#160;</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;">  10,309</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#160;</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;">  2,551</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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;">&#8203;</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;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">  7,758</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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.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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  166</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;">&#8203;</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;">  46</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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">  212</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  501</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;">&#8203;</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;">&#8203;</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;">  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="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;">&#8203;</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;">&#8203;</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;">  740</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  774</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  928</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;">&#8203;</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;">&#8203;</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;">  238</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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</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;">&#8203;</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;">&#8203;</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,944</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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.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;">  237,575</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,355</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;">&#8203;</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,076</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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,959</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;">&#8203;</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;">  364,965</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  110,383</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,560</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;">&#8203;</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;">&#8203;</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,420</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,179</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;">&#8203;</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;">&#8203;</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;">  134,542</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  18,476</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;">&#8203;</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;">&#8203;</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.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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">&#8203;</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:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  261,994</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  48,766</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;">&#8203;</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;">&#8203;</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,434</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  92,709</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;">&#8203;</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;">&#8203;</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;">  410,903</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;">&#8203;</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;">&#8203;</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:43.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.93%;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;"><b style="font-weight:bold;">Nine Months Ended </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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;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;"><b style="font-weight:bold;">Power</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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;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;"><b style="font-weight:bold;">Industrial</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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.68%;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;"><b style="font-weight:bold;">Telecom</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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.7%;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-weight:bold;visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.93%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;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;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</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;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</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;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.68%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Services</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;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-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: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:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;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:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;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;">  296,821</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;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;">  101,497</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,461</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;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;">  408,779</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;">  255,210</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;">  88,537</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-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;">  7,831</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;">  351,578</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;">  41,611</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;">  12,960</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,630</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;">  57,201</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;">  17,700</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#8203;</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;">  4,532</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-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,038</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-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;">  8,197</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#8203;</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;">  32,467</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">  23,911</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">  8,428</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  592</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (8,197)</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">  24,734</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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,088</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-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.05%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-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,863)</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;">  7,222</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">  32,999</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">  8,428</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  589</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (10,060)</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;">  31,956</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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,616</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">  20,340</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">  294</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">  294</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:3px 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;">&#8203;</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;">  393</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:3px 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;">&#8203;</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;">  813</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  315</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:3px 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;">&#8203;</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,524</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">&#8203;</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,120</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">&#8203;</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;">  973</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">&#8203;</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;">  2,143</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;">&#8203;</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:43.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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;"><b style="font-weight:bold;">Nine Months Ended </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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;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;"><b style="font-weight:bold;">Power</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-weight:bold;visibility:hidden;">&#8203;</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:10pt;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.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;">&#8203;</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:10pt;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.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;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;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-weight:bold;visibility:hidden;">&#8203;</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;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;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;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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:center;margin:0pt;"><b style="font-weight:bold;">Services</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-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: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:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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:43.99%;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.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;">&#8203;</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.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;">  255,958</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,660</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;">&#8203;</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;">  12,644</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;">&#8203;</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.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">  336,262</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  202,985</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;">  56,968</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;">&#8203;</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;">&#160;</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;">  9,976</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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</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;">&#160;</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;">  269,929</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  52,973</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,692</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;">&#8203;</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;">&#160;</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;">  2,668</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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">&#160;</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;">  66,333</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  18,418</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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,267</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;">&#8203;</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;">&#8203;</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,369</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;">  8,172</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;">&#8203;</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;">&#8203;</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;">  34,226</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  34,555</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,425</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;">&#8203;</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;">&#8203;</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;">  299</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (8,172)</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;">&#8203;</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;">&#8203;</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;">  32,107</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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,613</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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.05%;margin: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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;">  254</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;">&#8203;</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;">&#160;</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,868</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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.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;">  36,168</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,425</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;">&#8203;</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;">  300</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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin: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,918)</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;">&#8203;</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;">&#160;</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;">  33,975</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#160;</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;">  14,510</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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;">&#8203;</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;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">  19,465</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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.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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  497</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;">&#8203;</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;">  114</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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">  611</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  422</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,553</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;">&#8203;</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;">&#8203;</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;">  318</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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</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;">&#8203;</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;">&#8203;</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;">  2,296</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  868</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,415</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;">&#8203;</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;">&#8203;</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;">  295</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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</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;">&#8203;</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;">&#8203;</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;">  2,582</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;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//280/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-26<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 34<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-34<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642013824080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_SupplementalFinancialStatementInformationAbstract', window );"><strong>SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalFinancialInformationDisclosureTextBlock', window );">SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION</a></td>
<td class="text"><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 &#8212; 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;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Balance Sheet</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 October 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;">&#8203;</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:67.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;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;"><b style="font-weight:bold;">October&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;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;"><b style="font-weight:bold;">January&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,550</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.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;"><span style="white-space:pre-wrap;">  15,327</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,449</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,106</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"><span style="white-space:pre-wrap;">  4,541</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;border-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,138</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"><span style="white-space:pre-wrap;">  6,563</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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 other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  41,243</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px 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:11.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;"><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;">&#8203;</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 October 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;">&#8203;</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:67.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;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;"><b style="font-weight:bold;">October&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;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;"><b style="font-weight:bold;">January&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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 project costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  52,719</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.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;"><span style="white-space:pre-wrap;">  17,448</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,921</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,447</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"><span style="white-space:pre-wrap;">  1,567</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;border-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,106</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"><span style="white-space:pre-wrap;">  12,566</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  83,193</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px 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:11.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;"><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;">&#8203;</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;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Other Loss</b></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;">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. 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. 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 reflected in other income, net, as a loss in the condensed consolidated statement of earnings for the nine months ended October 31, 2023.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_SupplementalFinancialStatementInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Na</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_SupplementalFinancialStatementInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalFinancialInformationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosures of supplemental information, including descriptions and amounts, related to the balance sheet, income statement, and/or cash flow statement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalFinancialInformationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642003656272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Description of the Business</a></td>
<td class="text"><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. (&#8220;Argan&#8221;) conducts operations through its wholly-owned subsidiaries, Gemma Power Systems, LLC and affiliates (&#8220;GPS&#8221;); The Roberts Company, Inc. (&#8220;TRC&#8221;); Atlantic Projects Company Limited and affiliates (&#8220;APC&#8221;) and Southern Maryland Cable, Inc. (&#8220;SMC&#8221;). Argan and these consolidated subsidiaries are hereinafter collectively referred to as the &#8220;Company.&#8221; </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 customers include 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 &#8220;U.S.&#8221;), the Republic of Ireland (&#8220;Ireland&#8221;) and the United Kingdom (the &#8220;U.K.&#8221;). GPS and APC represent the Company&#8217;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><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Presentation and Significant Accounting Policies</a></td>
<td class="text"><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 (&#8220;VIE&#8221;) 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&#8217;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&#8217;s fiscal year ends on January 31 each year. The condensed consolidated balance sheet as of October 31, 2023, the condensed consolidated statements of earnings and stockholders&#8217; equity for the three and nine months ended October 31, 2023 and 2022, and the condensed consolidated statements of cash flows for the nine months ended October 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 &#8220;SEC&#8221;). 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 (&#8220;U.S. GAAP&#8221;) 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&#8217;s report thereon, that are included in the Company&#8217;s Annual Report on Form 10-K for the fiscal year ended January 31, 2023 (&#8220;Fiscal 2023&#8221;).</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 October 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><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recently Issued Accounting Pronouncements</a></td>
<td class="text"><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 &#8220;FASB&#8221;) issued Accounting Standards Update (&#8220;ASU&#8221;) 2023-02, <i style="font-style:italic;">Investments&#8212;Equity Method and Joint Ventures (Topic 323): Accounting for Investments in Tax Credit Structures Using the Proportional Amortization Method </i>(&#8220;ASU 2023-02&#8221;), 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&#8217;s investments in energy tax credit structures entered into prior to Fiscal 2023 do not qualify for the proportional amortization method allowed 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;">In November 2023, the FASB issued ASU 2023-07, <i style="font-style:italic;">Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</i> introducing key amendments to enhance disclosures in public entities&#8217; reportable segments. Notable changes include the mandatory disclosure of significant segment expenses regularly provided to the chief operating decision maker (&#8220;CODM&#8221;), disclosure of other segment items, and requirements for consistency in reporting measures used by the CODM. The amendments in this update are effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the effects, if any, that the adoption of ASU 2023-07 may have on its financial position, results of operations, cash flows, or disclosures.</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><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_AvailableForSaleSecuritiesPolicyTextBlock', window );">Available-For-Sale Securities</a></td>
<td class="text"><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 (&#8220;AFS&#8221;) securities are stated at fair value, as presented below, 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, and realized gains and losses are included in other income or expense, as applicable, in the Company&#8217;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 (&#8220;ASC&#8221;) 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 that the Company would be required to sell the AFS security before recovery, impairment is recognized in earnings with a corresponding adjustment to the security&#8217;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><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock', window );">Fair Values</a></td>
<td class="text"><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 &#8211; 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 &#8211; 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 &#8211; Inputs are unobservable inputs based on a company&#8217;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;">The following table shows the Company&#8217;s financial instruments as of October 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;">&#8203;</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:87.88%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:29.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:29.29%;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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.01%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.01%;border-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:center;margin:0pt;"><b style="font-weight:bold;">January&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;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;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;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;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;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;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;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;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;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;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;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;"><b style="font-weight:bold;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Cash equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.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 6pt;">Money market fund</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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.89%;background:#cceeff;margin:0pt;padding:0pt;"><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,022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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.72%;background:#cceeff;margin:0pt;padding:0pt;"><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.94%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:29.29%;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.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.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 6pt;">U.S. Treasury notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,700</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:29.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 6pt;">U.S. corporate debt security</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-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;"> 9,217</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-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;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:29.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;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px 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.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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,022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px 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.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103,917</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px 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.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px 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.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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.94%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px 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.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px 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.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;">The carrying value amounts presented in the condensed consolidated balance sheets for the Company&#8217;s other current assets, including cash, certificates of deposit (&#8220;CDs&#8221;), 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><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_TreasuryStockPolicyTextBlock', window );">Treasury Stock</a></td>
<td class="text"><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;">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 shares of treasury stock provided for settlements or sold at a price higher than its cost, the gain is recorded to additional paid-in capital. For shares of 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 the account. Any losses in excess of that amount are recorded to retained earnings. </p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_AvailableForSaleSecuritiesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for available-for-sale securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_AvailableForSaleSecuritiesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_TreasuryStockPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_TreasuryStockPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642013795776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock', window );">Schedule of financial instruments recorded at fair value on a recurring basis</a></td>
<td class="text"><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;">&#8203;</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:87.88%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:29.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:29.29%;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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.01%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.01%;border-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:center;margin:0pt;"><b style="font-weight:bold;">January&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;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;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;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;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;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;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;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;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;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;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;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;"><b style="font-weight:bold;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Cash equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.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 6pt;">Money market fund</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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.89%;background:#cceeff;margin:0pt;padding:0pt;"><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,022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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.72%;background:#cceeff;margin:0pt;padding:0pt;"><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.94%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;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.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:29.29%;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.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.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 6pt;">U.S. Treasury notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,700</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:29.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 6pt;">U.S. corporate debt security</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-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;"> 9,217</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-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;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:29.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;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px 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.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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,022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px 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.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103,917</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px 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.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px 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.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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.94%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px 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.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px 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.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642013792192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>REVENUES FROM CONTRACTS WITH CUSTOMERS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Schedule of consolidated revenues disaggregated by geographical area</a></td>
<td class="text"><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;">&#8203;</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:85.55%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:26.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:26.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.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:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended October&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.81%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended October&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.84%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.47%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.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:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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-weight:bold;visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.24%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.22%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.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;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 92,066</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;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.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;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.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 239,866</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;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.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 256,031</p></td></tr><tr><td style="vertical-align:bottom;width:26.15%;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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><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,359</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.63%;margin:0pt;padding:0pt;"><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,833</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 139,014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,019</p></td></tr><tr><td style="vertical-align:bottom;width:26.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;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;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;"> 3,330</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.13%;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;"> 29,899</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;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;"> 33,212</p></td></tr><tr><td style="vertical-align:bottom;width:26.15%;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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 163,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px 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:13.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;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,875</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;border-bottom:3px 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:13.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 408,779</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:3px 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:13.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 336,262</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642011685248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', window );"><strong>CASH, CASH EQUIVALENTS AND INVESTMENTS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentTableTextBlock', window );">Investments</a></td>
<td class="text"><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;">&#8203;</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:67.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;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;"><b style="font-weight:bold;">October&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;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;"><b style="font-weight:bold;">January&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  108,029</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.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;"><span style="white-space:pre-wrap;">  151,511</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;border-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;">  103,917</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  211,946</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px 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:11.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;"><span style="white-space:pre-wrap;">  151,511</span></p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock', window );">Schedule of available-for-sale securities</a></td>
<td class="text"><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;">&#8203;</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:39.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:39.7%;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="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:58.24%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.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="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;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="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;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;"><b style="font-weight:bold;">Allowance for</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-weight:bold;visibility:hidden;">&#8203;</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;"><b style="font-weight:bold;">Gross</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-weight:bold;visibility:hidden;">&#8203;</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;"><b style="font-weight:bold;">Gross</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.12%;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;"><b style="font-weight:bold;">Estimated</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.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="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" 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:center;margin:0pt;"><b style="font-weight:bold;">Amortized</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;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;"><b style="font-weight:bold;">Credit</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-weight:bold;visibility:hidden;">&#8203;</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;"><b style="font-weight:bold;">Unrealized</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-weight:bold;visibility:hidden;">&#8203;</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;"><b style="font-weight:bold;">Unrealized</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.12%;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;"><b style="font-weight:bold;">Fair</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.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="visibility:hidden;">&#8203;</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" 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:center;margin:0pt;"><b style="font-weight:bold;">Cost</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.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;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.12%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.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;">U.S. Treasury notes:</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.7%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,282</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.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;"> 3</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.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;"> 357</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,928</p></td></tr><tr><td style="vertical-align:bottom;width:39.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 6pt;">Due in two to three years</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><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,514</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 742</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;background:#cceeff;margin:0pt;padding:0pt;"><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,772</p></td></tr><tr><td style="vertical-align:bottom;width:39.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">U.S. corporate debt security:</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.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 6pt;">Due in two to three years</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;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;"> 9,268</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;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;"> 51</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;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;"> 9,217</p></td></tr><tr><td style="vertical-align:bottom;width:39.7%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,064</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px 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.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px 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.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px 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.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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,150</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px 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.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103,917</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//320/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Topic 321<br> -Publisher FASB<br> -URI https://asc.fasb.org//321/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Topic 325<br> -Publisher FASB<br> -URI https://asc.fasb.org//325/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642011305728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INTANGIBLE ASSETS (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>INTANGIBLE ASSETS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock', window );">Schedule of company's purchased intangible assets, other than goodwill</a></td>
<td class="text"><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;">&#8203;</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:20.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:20.36%;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="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:31.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;text-align:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:31.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;text-align:center;margin:0pt;"><b style="font-weight:bold;">January&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.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;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;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;"><b style="font-weight:bold;">Estimated</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;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;"><b style="font-weight:bold;">Gross</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.77%;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;"><b style="font-weight:bold;">Accumulated</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;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;"><b style="font-weight:bold;">Net</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;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;"><b style="font-weight:bold;">Gross</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.77%;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;"><b style="font-weight:bold;">Accumulated</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;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;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.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;">&#8203;</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Useful Life</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Amounts</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.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:center;margin:0pt;"><b style="font-weight:bold;">Amortization</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Amounts</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Amounts</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.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:center;margin:0pt;"><b style="font-weight:bold;">Amortization</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.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;">Trade names</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"><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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;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.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;"> 2,375</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"><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,124</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"><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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;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.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;"> 2,150</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"><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:20.36%;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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> 725</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-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;"> 191</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-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:20.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 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px 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.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,100</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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,315</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px 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.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;"> 2,806</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642013824080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_CommitmentDisclosureAbstract', window );"><strong>COMMITMENTS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of future minimum lease payments for the operating leases</a></td>
<td class="text"><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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ending January&#160;31,&#160;</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;">&#160;&#160;&#160;&#160;</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;"> 436</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;">&#8203;</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;">&#8203;</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,466</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;"> 818</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;">&#8203;</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;">&#8203;</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,411</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;">&#8203;</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;">&#8203;</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;"> 254</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;">&#8203;</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;">&#8203;</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,157</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_qWc9YZ_6xkerbBuXoOIA4w;"><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;">&#8203;</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;">&#8203;</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,447</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_iqQwAB-AiEed2DHu2UYUkQ;"><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;">&#8203;</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;"> 2,710</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_CommitmentDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_CommitmentDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642011136752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>STOCK-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Schedule of stock option activity under the Company's stock plans</a></td>
<td class="text"><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 nine months ended October 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:36.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr></table><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><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.36%;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;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.36%;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;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.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;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.36%;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;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.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;"><b style="font-weight:bold;">Average Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.36%;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;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.07%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Price Per Share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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:center;margin:0pt;"><b style="font-weight:bold;">Term&#160;(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.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:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;margin:0pt;padding:0pt;"><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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"> 5.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><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:36.34%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"><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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;margin:0pt;padding:0pt;"><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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (91)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27.24</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;margin:0pt;padding:0pt;"><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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;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, October&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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,358</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><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.93</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"> 4.89</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><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.42</p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exercisable, October&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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,230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;margin:0pt;padding:0pt;"><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.45</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"> 4.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><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.70</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;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, October&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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,405</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><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.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"> 5.61</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"><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.17</p></td></tr><tr><td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">Exercisable, October&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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,188</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:16.62%;margin:0pt;padding:0pt;"><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.76</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"> 5.11</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><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.69</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock', window );">Schedule of changes in the number of non-vested options to purchase shares of common stock</a></td>
<td class="text"><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 nine months ended October 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:74.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:2.26%;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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.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:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><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:74.12%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><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:74.12%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;margin: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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><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:74.12%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><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:74.12%;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, October&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><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:74.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.12%;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, October&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  217</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><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.33</p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock', window );">Schedule of changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units</a></td>
<td class="text"><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 nine months ended October 31, 2023, and the weighted average fair value per share for each restricted stock unit, 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;white-space:nowrap;width:74.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:2.44%;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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;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;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.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:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:74.08%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;"><span style="white-space:pre-wrap;">  104</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31.68</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;text-align:right;margin:0pt;"> (42)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><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.80</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;border-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;"> (49)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;margin:0pt;padding:0pt;"><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.57</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;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, October&#160;31,&#160;2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  323</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30.59</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;border-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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.08%;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, October&#160;31,&#160;2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  298</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:2.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:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29.42</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in outstanding nonvested shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642009247360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>INCOME TAXES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of actual income tax expense amounts</a></td>
<td class="text"><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;">&#8203;</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:61.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">&#8203;</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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:36.16%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended October&#160;31,&#160;</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;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.03%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.01%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2022</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;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:13.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;"><span style="white-space:pre-wrap;">  6,711</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;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.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;">  7,135</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="visibility:hidden;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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;">Unrecognized tax loss benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="white-space:pre-wrap;">  3,255</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> &#8212;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="white-space:pre-wrap;">  2,023</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">  486</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> (1,699)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> (194)</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="white-space:pre-wrap;">  672</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">  757</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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;">Meals and entertainment expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"><span style="white-space:pre-wrap;">  385</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">  48</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;">  6,181</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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;">Other permanent differences and adjustments, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.2%;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;"><span style="white-space:pre-wrap;">  269</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;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;"><span style="white-space:pre-wrap;">  97</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.18%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:3px 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:13.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;"><span style="white-space:pre-wrap;">  11,616</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;border-bottom:3px 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:13.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,510</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 12<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642011305728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NET INCOME PER SHARE (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>NET INCOME PER SHARE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of computations of basic and diluted net income per share</a></td>
<td class="text"><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 notes):</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:59.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:37.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:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended October&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.03%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,464</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px 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:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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,758</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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 &#8211; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,328</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,781</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;border-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;">  231</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;border-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;">  31</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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 &#8211; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,559</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,812</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:3px 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:14.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.41</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px 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:14.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.56</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.91%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.40</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px 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:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.56</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 October 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">690,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;">1,146,834</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:61.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:36.16%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended October&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.43%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.4%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:3px 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:14.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,340</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px 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:14.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;"> 19,465</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.31%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">Weighted average number of shares outstanding &#8211; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,381</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"> 14,268</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.26%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.32%;border-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;">  168</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="white-space:pre-wrap;">  82</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">Weighted average number of shares outstanding &#8211; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,549</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"> 14,350</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.31%;margin: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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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;">Net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.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;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.26%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:3px 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:14.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;"><span style="white-space:pre-wrap;">  1.52</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:3px 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:14.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.36</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:61.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 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:3px 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:14.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.50</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px 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:14.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;"><span style="white-space:pre-wrap;">  1.36</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 nine months ended October 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">881,056</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;">1,103,334</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><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642013715840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT REPORTING (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>SEGMENT REPORTING</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Schedule of operating results and financial position data of the Company's reportable business segments</a></td>
<td class="text"><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;">&#8203;</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:43.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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;"><b style="font-weight:bold;">Three Months Ended </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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;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;"><b style="font-weight:bold;">Power</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="visibility:hidden;">&#8203;</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:10pt;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.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;">&#8203;</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:10pt;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.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;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;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-weight:bold;visibility:hidden;">&#8203;</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;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;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;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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:center;margin:0pt;"><b style="font-weight:bold;">Services</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;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-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: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:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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:43.99%;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.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;">&#8203;</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.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;">  121,300</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,434</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;">&#8203;</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,021</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;">&#8203;</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.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">  163,755</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  107,781</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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,899</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;">&#8203;</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;">&#160;</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,840</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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</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;">&#160;</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;">  144,520</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#160;</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,519</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,535</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;">&#8203;</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;">&#160;</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,181</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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">&#160;</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;">  19,235</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  6,390</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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,626</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;">&#8203;</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;">&#8203;</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;">  608</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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,751</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;">&#8203;</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;">&#8203;</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;">  11,375</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  7,129</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,909</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;">&#8203;</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;">&#8203;</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;">  573</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin: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,751)</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;">&#8203;</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;">&#8203;</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;">  7,860</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#160;</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,391</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;">  342</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;">&#8203;</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;">&#160;</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,733</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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.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;">  10,520</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,909</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;">&#8203;</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;">  573</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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin: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,409)</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;">&#8203;</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;">&#160;</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;">  11,593</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#160;</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;">  6,129</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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;">&#8203;</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;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">  5,464</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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.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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;">&#8203;</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;"> &#8212;</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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  137</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  249</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;">&#8203;</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;">&#8203;</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;">  102</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;">&#8203;</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;">&#8203;</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;">  489</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  583</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  497</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;">&#8203;</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;">&#8203;</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;">  31</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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,112</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin: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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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.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,489</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  39,843</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;">&#8203;</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,701</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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,038</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;">&#8203;</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;">  514,071</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  244,662</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  25,839</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;">&#8203;</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;">&#8203;</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,801</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,592</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;">&#8203;</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;">&#8203;</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;">  273,894</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  18,476</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;">&#8203;</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;">&#8203;</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.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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">&#8203;</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:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  426,466</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,112</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;">&#8203;</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;">&#8203;</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;">  6,519</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  73,555</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;">&#8203;</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;">&#8203;</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;">  563,652</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;">&#8203;</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:43.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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;"><b style="font-weight:bold;">Three Months Ended </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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;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;"><b style="font-weight:bold;">Power</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-weight:bold;visibility:hidden;">&#8203;</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:10pt;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.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;">&#8203;</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:10pt;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.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;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;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-weight:bold;visibility:hidden;">&#8203;</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;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;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;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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:center;margin:0pt;"><b style="font-weight:bold;">Services</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-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: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:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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:43.99%;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.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;">&#8203;</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.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;">  90,682</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,137</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;">&#8203;</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;">  5,056</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;">&#8203;</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.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">  117,875</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  72,725</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;">  18,737</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;">&#8203;</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;">&#160;</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,205</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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</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;">&#160;</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;">  95,667</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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,957</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,400</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;">&#8203;</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;">&#160;</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;">  851</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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">&#160;</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,208</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  6,745</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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,823</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;">&#8203;</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;">&#8203;</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;">  796</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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,303</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;">&#8203;</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;">&#160;</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;">  12,667</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  11,212</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,577</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;">&#8203;</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;">&#8203;</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;">  55</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin: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,303)</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;">&#8203;</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;">&#8203;</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;">  9,541</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  592</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;">  176</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;">&#8203;</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;">&#160;</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;">  768</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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.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,804</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,577</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;">&#8203;</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;">  55</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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin: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,127)</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;">&#8203;</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;">&#160;</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;">  10,309</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#160;</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;">  2,551</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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;">&#8203;</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;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">  7,758</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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.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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  166</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;">&#8203;</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;">  46</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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">  212</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  501</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;">&#8203;</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;">&#8203;</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;">  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="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;">&#8203;</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;">&#8203;</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;">  740</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  774</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  928</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;">&#8203;</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;">&#8203;</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;">  238</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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</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;">&#8203;</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;">&#8203;</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,944</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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.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;">  237,575</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,355</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;">&#8203;</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,076</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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,959</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;">&#8203;</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;">  364,965</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  110,383</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,560</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;">&#8203;</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;">&#8203;</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,420</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,179</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;">&#8203;</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;">&#8203;</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;">  134,542</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  18,476</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;">&#8203;</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;">&#8203;</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.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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">&#8203;</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:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  261,994</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  48,766</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;">&#8203;</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;">&#8203;</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,434</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  92,709</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;">&#8203;</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;">&#8203;</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;">  410,903</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;">&#8203;</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:43.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.93%;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;"><b style="font-weight:bold;">Nine Months Ended </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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;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;"><b style="font-weight:bold;">Power</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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;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;"><b style="font-weight:bold;">Industrial</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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.68%;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;"><b style="font-weight:bold;">Telecom</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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.7%;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-weight:bold;visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;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-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.93%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;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;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</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;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;text-align:center;margin:0pt;"><b style="font-weight:bold;">Services</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;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.68%;border-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:center;margin:0pt;"><b style="font-weight:bold;">Services</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;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-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: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:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;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:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;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;">  296,821</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;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;">  101,497</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,461</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;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;">  408,779</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;">  255,210</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;">  88,537</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-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;">  7,831</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;">  351,578</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;">  41,611</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;">  12,960</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,630</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;">  57,201</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;">  17,700</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#8203;</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;">  4,532</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-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,038</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-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;">  8,197</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#8203;</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;">  32,467</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">  23,911</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">  8,428</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  592</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (8,197)</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">  24,734</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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,088</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-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.05%;margin: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-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,863)</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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;">  7,222</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">  32,999</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">  8,428</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  589</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (10,060)</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</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;">  31,956</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-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;">&#160;</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,616</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">  20,340</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">  294</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">  294</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:3px 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;">&#8203;</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;">  393</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:3px 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;">&#8203;</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;">  813</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  315</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:3px 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;">&#8203;</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,524</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:43.93%;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.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">&#8203;</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,120</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">&#8203;</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;">  973</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px 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;">&#8203;</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;">  2,143</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;">&#8203;</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:43.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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;"><b style="font-weight:bold;">Nine Months Ended </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="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;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;"><b style="font-weight:bold;">Power</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-weight:bold;visibility:hidden;">&#8203;</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:10pt;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.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;">&#8203;</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:10pt;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.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;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;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-weight:bold;visibility:hidden;">&#8203;</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;">&#8203;</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-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;border-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:center;margin:0pt;"><b style="font-weight:bold;">October&#160;31,&#160;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;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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:center;margin:0pt;"><b style="font-weight:bold;">Services</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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-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: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:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</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:10pt;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:43.99%;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.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;">&#8203;</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.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;">  255,958</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,660</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;">&#8203;</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;">  12,644</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;">&#8203;</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.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">  336,262</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  202,985</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;">  56,968</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;">&#8203;</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;">&#160;</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;">  9,976</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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">&#8203;</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;">&#160;</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;">  269,929</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  52,973</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,692</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;">&#8203;</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;">&#160;</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;">  2,668</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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">&#160;</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;">  66,333</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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;">  18,418</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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,267</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;">&#8203;</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;">&#8203;</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,369</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;">  8,172</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;">&#8203;</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;">&#8203;</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;">  34,226</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  34,555</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,425</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;">&#8203;</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;">&#8203;</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;">  299</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"> (8,172)</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;">&#8203;</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;">&#8203;</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;">  32,107</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#160;</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,613</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-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;"> &#8212;</p></td><td style="vertical-align:bottom;white-space: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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#160;</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.05%;margin: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;">&#8203;</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-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;">  254</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;">&#8203;</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;">&#160;</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,868</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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.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;">  36,168</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,425</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;">&#8203;</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;">  300</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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin: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,918)</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;">&#8203;</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;">&#160;</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;">  33,975</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#160;</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;">  14,510</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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;">&#8203;</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;">&#8203;</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;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">  19,465</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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="visibility:hidden;">&#8203;</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;">&#8203;</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;">&#8203;</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;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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.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;"> &#8212;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  497</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;">&#8203;</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;">  114</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;">&#8203;</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.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</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;">&#8203;</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;">  611</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  422</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,553</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;">&#8203;</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;">&#8203;</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;">  318</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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</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;">&#8203;</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;">&#8203;</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;">  2,296</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.99%;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.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;">&#8203;</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;">&#8203;</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;">  868</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px 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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,415</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;">&#8203;</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;">&#8203;</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;">  295</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;">&#8203;</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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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</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;">&#8203;</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;">&#8203;</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;">  2,582</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;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-25<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642011234704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_SupplementalFinancialStatementInformationAbstract', window );"><strong>SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock', window );">Schedule of other current assets</a></td>
<td class="text"><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;">&#8203;</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:67.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;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;"><b style="font-weight:bold;">October&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;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;"><b style="font-weight:bold;">January&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,550</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.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;"><span style="white-space:pre-wrap;">  15,327</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,449</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,106</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"><span style="white-space:pre-wrap;">  4,541</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;border-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,138</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"><span style="white-space:pre-wrap;">  6,563</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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 other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  41,243</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px 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:11.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;"><span style="white-space:pre-wrap;">  38,334</span></p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Schedule of accrued expenses</a></td>
<td class="text"><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;">&#8203;</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:67.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;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;"><b style="font-weight:bold;">October&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;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;"><b style="font-weight:bold;">January&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;border-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:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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 project costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  52,719</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.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;"><span style="white-space:pre-wrap;">  17,448</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,921</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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,447</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"><span style="white-space:pre-wrap;">  1,567</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;border-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,106</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-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;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"><span style="white-space:pre-wrap;">  12,566</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.69%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;">  83,193</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px 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:11.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;"><span style="white-space:pre-wrap;">  49,867</span></p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_SupplementalFinancialStatementInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Na</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_SupplementalFinancialStatementInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amounts of other current assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642009021760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION - Financial Instruments on a Recurring Basis (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair value of assets and liabilities measured on recurring and nonrecurring basis</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale-securities</a></td>
<td class="nump">$ 103,917<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring | Level 1 Inputs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair value of assets and liabilities measured on recurring and nonrecurring basis</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Totals</a></td>
<td class="nump">127,022<span></span>
</td>
<td class="nump">$ 68,647<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring | Level 1 Inputs | Money market funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair value of assets and liabilities measured on recurring and nonrecurring basis</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash and cash equivalents</a></td>
<td class="nump">127,022<span></span>
</td>
<td class="nump">$ 68,647<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring | Level 2 Inputs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair value of assets and liabilities measured on recurring and nonrecurring basis</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Totals</a></td>
<td class="nump">103,917<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring | Level 2 Inputs | U.S. Treasury notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair value of assets and liabilities measured on recurring and nonrecurring basis</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale-securities</a></td>
<td class="nump">94,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, recurring | Level 2 Inputs | U.S. corporate debt security</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair value of assets and liabilities measured on recurring and nonrecurring basis</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale-securities</a></td>
<td class="nump">$ 9,217<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479130/326-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_MoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_MoneyMarketFundsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_DomesticCorporateDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_DomesticCorporateDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642009868160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUES FROM CONTRACTS WITH CUSTOMERS (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized</a></td>
<td class="nump">$ 53.8<span></span>
</td>
<td class="nump">$ 48.7<span></span>
</td>
<td class="nump">$ 94.2<span></span>
</td>
<td class="nump">$ 127.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_RetainedAmountUnderConstructionContracts', window );">Retained amounts by project owners</a></td>
<td class="nump">$ 19.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 19.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 49.1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_NPricedChangeOrdersIncludedInTransactionPrices', window );">Amounts of unpriced change orders included in transaction prices</a></td>
<td class="nump">6.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11.6<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=agx_KilrootProjectMember', window );">Kilroot Project | APC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_EstimatedLoss', window );">Estimated loss</a></td>
<td class="nump">$ 7.9<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears', window );">Estimated loss, including reversal of net gross profit</a></td>
<td class="nump">10.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_ReversalOfProfitLossRecordedInPriorPeriods', window );">Reversal of profit</a></td>
<td class="nump">$ 2.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_EstimatedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of estimated loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_EstimatedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of estimated loss including reversal of net gross profit recorded in previous years.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_NPricedChangeOrdersIncludedInTransactionPrices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amounts of unpriced change orders included in transaction prices.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_NPricedChangeOrdersIncludedInTransactionPrices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:decimalItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_RetainedAmountUnderConstructionContracts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amounts retained by project owners under construction contracts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_RetainedAmountUnderConstructionContracts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_ReversalOfProfitLossRecordedInPriorPeriods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of profit (loss) of prior periods reversed during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_ReversalOfProfitLossRecordedInPriorPeriods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=agx_KilrootProjectMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=agx_KilrootProjectMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=agx_AtlanticProjectsCompanyLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=agx_AtlanticProjectsCompanyLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642009196032">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details) - Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-11-01<br> $ in Billions</strong></div></th>
<th class="th">
<div>Oct. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>REVENUES FROM CONTRACTS WITH CUSTOMERS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Contract backlog amount</a></td>
<td class="nump">$ 0.7<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationPercentage', window );">Contract backlog (as percent)</a></td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Performance period</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-11-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-11-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642008170224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenues</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Totals</a></td>
<td class="nump">$ 163,755<span></span>
</td>
<td class="nump">$ 117,875<span></span>
</td>
<td class="nump">$ 408,779<span></span>
</td>
<td class="nump">$ 336,262<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenues</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Totals</a></td>
<td class="nump">92,066<span></span>
</td>
<td class="nump">81,810<span></span>
</td>
<td class="nump">239,866<span></span>
</td>
<td class="nump">256,031<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_IE', window );">Republic of Ireland</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenues</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Totals</a></td>
<td class="nump">68,359<span></span>
</td>
<td class="nump">21,833<span></span>
</td>
<td class="nump">139,014<span></span>
</td>
<td class="nump">47,019<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_GB', window );">United Kingdom</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenues</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Totals</a></td>
<td class="nump">$ 3,330<span></span>
</td>
<td class="nump">$ 14,232<span></span>
</td>
<td class="nump">$ 29,899<span></span>
</td>
<td class="nump">$ 33,212<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_IE">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_IE</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_GB">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_GB</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642009886272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CASH, CASH EQUIVALENTS AND INVESTMENTS (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_AccruedInvestmentIncomeDividendReceivable', window );">Accrued dividends</a></td>
<td class="nump">$ 0.5<span></span>
</td>
<td class="nump">$ 0.3<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InformationByCategoryOfDebtSecurityAxis=us-gaap_HeldtomaturitySecuritiesMember', window );">Held-to-maturity Securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_InvestmentMaturityPeriod', window );">Maturity period</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_WeightedAverageRateDepositCertificatesOfDeposit', window );">Weighted average annual interest rates of CDs (as a percent)</a></td>
<td class="nump">5.40%<span></span>
</td>
<td class="nump">2.50%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestReceivable', window );">Accrued interest</a></td>
<td class="nump">$ 3.0<span></span>
</td>
<td class="nump">$ 1.8<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_AccruedInvestmentIncomeDividendReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Dividends earned but not yet received by the entity on its investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_AccruedInvestmentIncomeDividendReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_InvestmentMaturityPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the maturity period of investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_InvestmentMaturityPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_WeightedAverageRateDepositCertificatesOfDeposit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average interest rate for certificates of deposit liabilities in banking offices.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_WeightedAverageRateDepositCertificatesOfDeposit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of interest earned but not received. Also called accrued interest or accrued interest receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480833/946-310-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InformationByCategoryOfDebtSecurityAxis=us-gaap_HeldtomaturitySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InformationByCategoryOfDebtSecurityAxis=us-gaap_HeldtomaturitySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642009445760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Oct. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Oct. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent', window );">Interest receivable</a></td>
<td class="nump">$ 800<span></span>
</td>
<td class="nump">$ 800<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList', window );">Debt Securities, Available-for-Sale, Accrued Interest, after Allowance for Credit Loss, Current, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="text">Investments<span></span>
</td>
<td class="text">Investments<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax', window );">Net unrealized holding losses for the Company's AFS securities</a></td>
<td class="nump">$ 400<span></span>
</td>
<td class="nump">$ 1,100<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt', window );">Proceeds from sale of debt securities, available-for-sale</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax', window );">Amounts of gains or losses reclassified out of other comprehensive income</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract', window );"><strong>Available-for-sale securities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">105,064<span></span>
</td>
<td class="nump">105,064<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="nump">1,150<span></span>
</td>
<td class="nump">1,150<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">103,917<span></span>
</td>
<td class="nump">103,917<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasuryNotesSecuritiesMember', window );">US Treasury notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract', window );"><strong>Available-for-sale securities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo', window );">Amortized cost, Due in one to two years</a></td>
<td class="nump">50,282<span></span>
</td>
<td class="nump">50,282<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree', window );">Amortized Cost, Due in two to three years</a></td>
<td class="nump">45,514<span></span>
</td>
<td class="nump">45,514<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo', window );">Gross Unrealized Gains, Due in one to two years</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo', window );">Gross Unrealized Losses, Due in one to two years</a></td>
<td class="nump">357<span></span>
</td>
<td class="nump">357<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree', window );">Gross Unrealized Losses, Due in two to three years</a></td>
<td class="nump">742<span></span>
</td>
<td class="nump">742<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo', window );">Fair value, Due in one to two years</a></td>
<td class="nump">49,928<span></span>
</td>
<td class="nump">49,928<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree', window );">Fair Value, Due in two to three years</a></td>
<td class="nump">44,772<span></span>
</td>
<td class="nump">44,772<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_DomesticCorporateDebtSecuritiesMember', window );">U.S. corporate debt security</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract', window );"><strong>Available-for-sale securities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree', window );">Amortized Cost, Due in two to three years</a></td>
<td class="nump">9,268<span></span>
</td>
<td class="nump">9,268<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree', window );">Gross Unrealized Losses, Due in two to three years</a></td>
<td class="nump">51<span></span>
</td>
<td class="nump">51<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree', window );">Fair Value, Due in two to three years</a></td>
<td class="nump">$ 9,217<span></span>
</td>
<td class="nump">$ 9,217<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleTerm', window );">Available-for-sale securities term</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">2 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleTerm', window );">Available-for-sale securities term</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">3 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of unrealized gain 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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of unrealized gain 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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479130/326-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479130/326-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479130/326-30-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-3A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-3A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-15<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-17A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-9<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasuryNotesSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USTreasuryNotesSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_DomesticCorporateDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_DomesticCorporateDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642009916432">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', window );"><strong>CASH, CASH EQUIVALENTS AND INVESTMENTS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermInvestments', window );">Short-term investments</a></td>
<td class="nump">$ 108,029<span></span>
</td>
<td class="nump">$ 151,511<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale-securities</a></td>
<td class="nump">103,917<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Investments', window );">Total investments</a></td>
<td class="nump">$ 211,946<span></span>
</td>
<td class="nump">$ 151,511<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479130/326-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Investments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(h))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Investments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642009228464">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>ACCOUNTS RECEIVABLE (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>ACCOUNTS RECEIVABLE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForNotesAndLoansReceivableCurrent', window );">Allowance for uncollectible accounts</a></td>
<td class="nump">$ 1.8<span></span>
</td>
<td class="nump">$ 1.8<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForNotesAndLoansReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on financing receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForNotesAndLoansReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642008061808">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>INTANGIBLE ASSETS - Components of Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Amounts</a></td>
<td class="nump">$ 5,415<span></span>
</td>
<td class="nump">$ 5,415<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">3,100<span></span>
</td>
<td class="nump">2,806<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Amounts</a></td>
<td class="nump">$ 2,315<span></span>
</td>
<td class="nump">2,609<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Name</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Estimated Useful Life (in years)</a></td>
<td class="text">15 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Amounts</a></td>
<td class="nump">$ 4,499<span></span>
</td>
<td class="nump">4,499<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">2,375<span></span>
</td>
<td class="nump">2,150<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Amounts</a></td>
<td class="nump">$ 2,124<span></span>
</td>
<td class="nump">2,349<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Estimated Useful Life (in years)</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Amounts</a></td>
<td class="nump">$ 916<span></span>
</td>
<td class="nump">916<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">725<span></span>
</td>
<td class="nump">656<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Amounts</a></td>
<td class="nump">$ 191<span></span>
</td>
<td class="nump">$ 260<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483147/928-340-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642003658480">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>INTANGIBLE ASSETS - Additional Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract', window );"><strong>Indefinite-Lived Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 28,033<span></span>
</td>
<td class="nump">$ 28,033<span></span>
</td>
<td class="nump">$ 28,033<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=agx_RobertsCompanyIncMember', window );">TRC.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract', window );"><strong>Indefinite-Lived Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">9,500<span></span>
</td>
<td class="nump">9,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=agx_GemmaPowerSystemLlcMember', window );">GPS.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract', window );"><strong>Indefinite-Lived Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 18,500<span></span>
</td>
<td class="nump">$ 18,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=agx_RobertsCompanyIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=agx_RobertsCompanyIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=agx_GemmaPowerSystemLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=agx_GemmaPowerSystemLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642009096208">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>INTANGIBLE ASSETS - Finite Lived Intangible Future Amortization Schedule (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>INTANGIBLE ASSETS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2025</a></td>
<td class="nump">400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2026</a></td>
<td class="nump">400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2027</a></td>
<td class="nump">300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2028</a></td>
<td class="nump">300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive', window );">Thereafter</a></td>
<td class="nump">800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Amounts</a></td>
<td class="nump">$ 2,315<span></span>
</td>
<td class="nump">$ 2,609<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642009799232">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>FINANCING ARRANGEMENTS (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Mar. 06, 2023</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Financing Arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity', window );">Additional commitment amount</a></td>
<td class="nump">$ 10.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Secured Overnight Financing Rate (SOFR)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Financing Arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Interest rate margin on referred rate</a></td>
<td class="nump">1.60%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Expires on May 31, 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Financing Arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Borrowing available under financing arrangements</a></td>
<td class="nump">$ 50.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_LetterOfCreditMember', window );">Letter of Credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Financing Arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LettersOfCreditOutstandingAmount', window );">Letters of credit outstanding amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 13.2<span></span>
</td>
<td class="nump">$ 8.8<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage points added to the reference rate to compute the variable rate on the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LettersOfCreditOutstandingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The total amount of the contingent obligation under letters of credit outstanding as of the reporting date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LettersOfCreditOutstandingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=agx_LettersOfCreditExpireOnMay312024Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=agx_LettersOfCreditExpireOnMay312024Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_LetterOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_LetterOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642003721392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS - Leases (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend', window );">Operating leases, options to extend</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate', window );">Operating leases, options to terminate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease, right-of-use assets</a></td>
<td class="nump">$ 4,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,800<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Operating lease expense</a></td>
<td class="nump">$ 500<span></span>
</td>
<td class="nump">$ 600<span></span>
</td>
<td class="nump">$ 1,335<span></span>
</td>
<td class="nump">$ 1,871<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average lease term</a></td>
<td class="text">53 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">53 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">58 months<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate</a></td>
<td class="nump">3.80%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.80%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.70%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_ShortTermRentalAgreementsExpense', window );">Short-term rentals expense</a></td>
<td class="nump">$ 3,400<span></span>
</td>
<td class="nump">$ 3,500<span></span>
</td>
<td class="nump">$ 10,100<span></span>
</td>
<td class="nump">$ 8,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_RemainingBondedPerformanceObligations', window );">Unsatisfied bonded performance obligations</a></td>
<td class="nump">500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=agx_GemmaPowerSystemsMember', window );">GPS | Financial guarantee</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GuaranteeObligationsMaximumExposure', window );">Guarantor obligation maximum exposure</a></td>
<td class="nump">$ 3,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_RemainingBondedPerformanceObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents information pertaining to remaining bonded performance obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_RemainingBondedPerformanceObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_ShortTermRentalAgreementsExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount short-term rental agreements expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_ShortTermRentalAgreementsExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GuaranteeObligationsMaximumExposure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GuaranteeObligationsMaximumExposure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates (true false) whether lessee has option to extend operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates (true false) whether lessee has option to terminate operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating lease expense. Excludes sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=agx_GemmaPowerSystemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=agx_GemmaPowerSystemsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GuaranteeObligationsByNatureAxis=us-gaap_FinancialGuaranteeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GuaranteeObligationsByNatureAxis=us-gaap_FinancialGuaranteeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642003581328">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>COMMITMENTS - Future minimum lease payments (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Oct. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">2024 (remainder)</a></td>
<td class="nump">$ 436<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2025</a></td>
<td class="nump">1,466<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2026</a></td>
<td class="nump">1,194<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2027</a></td>
<td class="nump">276<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2028</a></td>
<td class="nump">221<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour', window );">Thereafter</a></td>
<td class="nump">818<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total lease payments</a></td>
<td class="nump">4,411<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less imputed interest</a></td>
<td class="nump">254<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Present value of lease payments</a></td>
<td class="nump">4,157<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Less current portion (included in accrued expenses)</a></td>
<td class="nump">$ 1,447<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList', window );">Less current portion (included in accrued expenses)</a></td>
<td class="text">Accrued expenses<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Non-current portion (included in noncurrent liabilities)</a></td>
<td class="nump">$ 2,710<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList', window );">Non-current portion (included in noncurrent liabilities)</a></td>
<td class="text">Noncurrent liabilities<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of financial position that includes current operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of financial position that includes noncurrent operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642013843248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS - Warranties (Details)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_WarrantyPeriodForConstructionContracts', window );">Warranty period</a></td>
<td class="text">P9M<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_WarrantyPeriodForConstructionContracts', window );">Warranty period</a></td>
<td class="text">P24M<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_WarrantyPeriodForConstructionContracts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the information pertaining to warranty provisions covering defects in equipment, materials etc.. after the completion of construction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_WarrantyPeriodForConstructionContracts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642009904160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details) - $ / shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="2">9 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>STOCK-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Shares, Outstanding, Beginning balance</a></td>
<td class="nump">1,440<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Shares, Granted</a></td>
<td class="nump">10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Shares, Exercised</a></td>
<td class="num">(91)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod', window );">Shares, Forfeited</a></td>
<td class="num">(1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Shares, Outstanding, Ending balance</a></td>
<td class="nump">1,358<span></span>
</td>
<td class="nump">1,405<span></span>
</td>
<td class="nump">1,440<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Shares, Exercisable</a></td>
<td class="nump">1,230<span></span>
</td>
<td class="nump">1,188<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Per Share, Outstanding, Beginning balance</a></td>
<td class="nump">$ 43.84<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Per Share, Granted</a></td>
<td class="nump">39.47<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Per Share, Exercised</a></td>
<td class="nump">27.24<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Per Share, Forfeited</a></td>
<td class="nump">33.81<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Per Share, Outstanding, Ending balance</a></td>
<td class="nump">44.93<span></span>
</td>
<td class="nump">$ 44.04<span></span>
</td>
<td class="nump">$ 43.84<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Per Share, Exercisable</a></td>
<td class="nump">$ 45.45<span></span>
</td>
<td class="nump">$ 44.76<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Term (Years), Outstanding</a></td>
<td class="text">4 years 10 months 20 days<span></span>
</td>
<td class="text">5 years 7 months 9 days<span></span>
</td>
<td class="text">5 years 5 months 15 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted Average Remaining Term (Years), Exercisable</a></td>
<td class="text">4 years 6 months 10 days<span></span>
</td>
<td class="text">5 years 1 month 9 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value Per Share, Outstanding</a></td>
<td class="nump">$ 10.42<span></span>
</td>
<td class="nump">$ 10.17<span></span>
</td>
<td class="nump">$ 10.11<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value Per Share, Exercisable</a></td>
<td class="nump">$ 10.70<span></span>
</td>
<td class="nump">$ 10.69<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award equity instruments stock option exercisable weighted average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award equity instruments stock option outstanding weighted average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (e)(1)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642009902752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details) - $ / shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>STOCK-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares', window );">Shares, Non-vested, Beginning balance</a></td>
<td class="nump">194<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Shares, Granted</a></td>
<td class="nump">10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares', window );">Shares, Vested</a></td>
<td class="num">(75)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares', window );">Shares, Forfeitures</a></td>
<td class="num">(1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares', window );">Shares, Non-vested, Ending balance</a></td>
<td class="nump">128<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares', window );">Shares, Non-vested</a></td>
<td class="nump">128<span></span>
</td>
<td class="nump">217<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value Per Share, Non-vested, Beginning balance</a></td>
<td class="nump">$ 7.27<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value Per Share, Granted</a></td>
<td class="nump">8.12<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value Per Share, Vested</a></td>
<td class="nump">6.62<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value Per Share, Forfeitures</a></td>
<td class="nump">5.68<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value Per Share, Non-vested, Ending balance</a></td>
<td class="nump">7.72<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value Per Share, Non-vested</a></td>
<td class="nump">$ 7.72<span></span>
</td>
<td class="nump">$ 7.33<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of non-vested options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of non-vested options forfeited.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average grant-date fair value of non-vested options forfeited.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average grant-date fair value of non-vested options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options vested.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average grant-date fair value of options vested.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642009143216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION - Summary of Change in restricted stock units (Details) - Restricted Stock Units - $ / shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Outstanding, Beginning balance (in shares)</a></td>
<td class="nump">310<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Awarded (in shares)</a></td>
<td class="nump">104<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Issued (in shares)</a></td>
<td class="num">(42)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited (in shares)</a></td>
<td class="num">(49)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Outstanding, Ending balance (in shares)</a></td>
<td class="nump">323<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Outstanding (in shares)</a></td>
<td class="nump">323<span></span>
</td>
<td class="nump">298<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant Date Fair Value Per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding, Beginning balance Fair value (Per share)</a></td>
<td class="nump">$ 30.80<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Awarded, Fair value (Per share)</a></td>
<td class="nump">31.68<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue', window );">Issued, Fair value (Per share)</a></td>
<td class="nump">43.80<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited, Fair value (Per share)</a></td>
<td class="nump">15.57<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding, Ending balance Fair value (Per share)</a></td>
<td class="nump">30.59<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding, Fair value (per share)</a></td>
<td class="nump">$ 30.59<span></span>
</td>
<td class="nump">$ 29.42<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date of equity instruments other than options issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642003470928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION - Additional Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Jun. 20, 2023</div></th>
<th class="th"><div>Jun. 23, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockDividendsShares', window );">Cash dividends deemed paid on shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,492<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_PercentageReductionInAggregateFairValueOfStockOption', window );">Percentage Reduction In The Aggregate Fair Value Of Stock Option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">88.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock compensation expense</a></td>
<td class="nump">$ 1,200<span></span>
</td>
<td class="nump">$ 1,100<span></span>
</td>
<td class="nump">$ 3,416<span></span>
</td>
<td class="nump">$ 3,055<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized compensation cost</a></td>
<td class="nump">6,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Compensation expense recognize, period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Intrinsic value of the stock options exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Intrinsic value of outstanding stock options</a></td>
<td class="nump">6,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Intrinsic value of exercisable stock options</a></td>
<td class="nump">$ 5,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices', window );">Period used for calculations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices', window );">Period used for calculations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices', window );">Period used for calculations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=agx_Plan2020Member', window );">2020 Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Number of shares of common stock reserved for issuance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">500,000<span></span>
</td>
<td class="nump">500,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Initial vesting percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33.33%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Period to become exercisable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Number of shares of common stock reserved for issuance</a></td>
<td class="nump">2,259,896<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,259,896<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Number of shares of common stock available for award</a></td>
<td class="nump">578,587<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">578,587<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=agx_PerformanceBasedRestrictedStockUnitsMember', window );">Performance-based restricted stock units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod', window );">The number of shares issuable under restricted stock units awarded during the period</a></td>
<td class="nump">6,000<span></span>
</td>
<td class="nump">26,000<span></span>
</td>
<td class="nump">6,000<span></span>
</td>
<td class="nump">26,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember', window );">Earnings per share performance-based restricted stock units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod', window );">The number of shares issuable under restricted stock units awarded during the period</a></td>
<td class="nump">15,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=agx_IncentiveStockOptionsMember', window );">ISOs/NSOs | Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Incentive stock option award maximum expiration period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Incentive stock option award maximum expiration period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=agx_RenewablePerformanceBasedRestrictedStockUnitsMember', window );">Renewable Performance-Based Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod', window );">The number of shares issuable under restricted stock units awarded during the period</a></td>
<td class="nump">7,500<span></span>
</td>
<td class="nump">7,500<span></span>
</td>
<td class="nump">7,500<span></span>
</td>
<td class="nump">7,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=agx_TimeBasedRestrictedStockUnitsMember', window );">Time Based Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod', window );">The number of shares issuable under restricted stock units awarded during the period</a></td>
<td class="nump">52,800<span></span>
</td>
<td class="nump">72,500<span></span>
</td>
<td class="nump">52,800<span></span>
</td>
<td class="nump">72,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember', window );">Senior executives | Performance-based restricted stock units | Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Period to become exercisable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded', window );">Percentage of the maximum shares for the target number of shares awarded</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the number of shares issuable under restricted stock units awarded during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of the maximum shares for the target number of shares awarded.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_PercentageReductionInAggregateFairValueOfStockOption">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage reduction in the aggregate fair value of stock option</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_PercentageReductionInAggregateFairValueOfStockOption</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate number of common shares reserved for future issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockCapitalSharesReservedForFutureIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock issued as dividends during the period. Excludes stock splits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of vesting of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=agx_Plan2020Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=agx_Plan2020Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=agx_PerformanceBasedRestrictedStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=agx_PerformanceBasedRestrictedStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=agx_IncentiveStockOptionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=agx_IncentiveStockOptionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=agx_StockPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=agx_StockPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=agx_RenewablePerformanceBasedRestrictedStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=agx_RenewablePerformanceBasedRestrictedStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=agx_TimeBasedRestrictedStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=agx_TimeBasedRestrictedStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642102660096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES - Income Tax Expense Reconciliation (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>INCOME TAXES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Federal corporate income tax rate (as percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate', window );">Computed expected income tax expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,711,000<span></span>
</td>
<td class="nump">$ 7,135,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_UnrecognizedTaxLossBenefit', window );">Unrecognized tax loss benefit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,255,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes', window );">State income taxes, net of federal tax effect</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,023,000<span></span>
</td>
<td class="nump">486,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential', window );">Foreign tax rate differential</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,699,000)<span></span>
</td>
<td class="num">(194,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount', window );">Excess executive compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">672,000<span></span>
</td>
<td class="nump">757,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment', window );">Meals and entertainment expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">385,000<span></span>
</td>
<td class="nump">48,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment', window );">Research and development credits adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,181,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther', window );">Other permanent differences and adjustments, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">269,000<span></span>
</td>
<td class="nump">97,000<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">$ 6,129,000<span></span>
</td>
<td class="nump">$ 2,551,000<span></span>
</td>
<td class="nump">11,616,000<span></span>
</td>
<td class="nump">14,510,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentForeignTaxExpenseBenefit', window );">Foreign income tax expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,000,000.0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_UnrecognizedTaxLossBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of unrecognized tax loss benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_UnrecognizedTaxLossBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentForeignTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentForeignTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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 meals and entertainment expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642014639728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES - Net Operating Loss Carryback (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2021</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>INCOME TAXES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_IncreaseInLossCarrybackPeriodForCertainLosses', window );">Increase in loss carryback period for certain losses</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_DomesticNetOperatingLossCarryback', window );">Domestic net operating loss carryback</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 39.5<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndOtherTaxReceivableCurrent', window );">Income tax receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_DomesticNetOperatingLossCarryback">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of domestic net operating loss carryback.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_DomesticNetOperatingLossCarryback</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_IncreaseInLossCarrybackPeriodForCertainLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the increase in loss carryback period for certain losses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_IncreaseInLossCarrybackPeriodForCertainLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxesAndOtherTaxReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxesAndOtherTaxReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642002751376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES - Research and Development Tax Credits (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>INCOME TAXES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationTaxCreditsResearch', window );">Federal research and development tax credits</a></td>
<td class="nump">$ 5,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit', window );">Development tax credit</a></td>
<td class="nump">2,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_IncomeTaxRefundsAndPrepaidIncomeTaxes', window );">Income tax refunds and prepaid income taxes</a></td>
<td class="nump">$ 16,550<span></span>
</td>
<td class="nump">$ 15,327<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_IncomeTaxRefundsAndPrepaidIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income tax refunds and prepaid income taxes .</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_IncomeTaxRefundsAndPrepaidIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits
 resulting from research and development tax credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationTaxCreditsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationTaxCreditsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642009910768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems', window );"><strong>Net Investment Income [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Investment account balances</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,200<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_CashInvestmentCommitments', window );">Remaining cash investment commitments</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_InvestmentsTerm', window );">Expected life of investment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaid', window );">Income Taxes Paid</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,022<span></span>
</td>
<td class="nump">$ 6,310<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Loss of investment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(130)<span></span>
</td>
<td class="nump">1,112<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_OtherNonoperatingIncomeExpenseMember', window );">Other income (expense)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems', window );"><strong>Net Investment Income [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Loss of investment</a></td>
<td class="nump">$ 100<span></span>
</td>
<td class="nump">$ 600<span></span>
</td>
<td class="nump">$ 100<span></span>
</td>
<td class="nump">$ 1,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_CashInvestmentCommitments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash investment commitments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_CashInvestmentCommitments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_InvestmentsTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Term of investment, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_InvestmentsTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) for proportionate share of equity method investee's income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_OtherNonoperatingIncomeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_OtherNonoperatingIncomeExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642002250624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NET INCOME PER SHARE (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>NET INCOME PER SHARE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 5,464<span></span>
</td>
<td class="nump">$ 7,758<span></span>
</td>
<td class="nump">$ 20,340<span></span>
</td>
<td class="nump">$ 19,465<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average number of shares outstanding - basic</a></td>
<td class="nump">13,328<span></span>
</td>
<td class="nump">13,781<span></span>
</td>
<td class="nump">13,381<span></span>
</td>
<td class="nump">14,268<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Effects of stock awards</a></td>
<td class="nump">231<span></span>
</td>
<td class="nump">31<span></span>
</td>
<td class="nump">168<span></span>
</td>
<td class="nump">82<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average number of shares outstanding - diluted</a></td>
<td class="nump">13,559<span></span>
</td>
<td class="nump">13,812<span></span>
</td>
<td class="nump">13,549<span></span>
</td>
<td class="nump">14,350<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="nump">$ 0.41<span></span>
</td>
<td class="nump">$ 0.56<span></span>
</td>
<td class="nump">$ 1.52<span></span>
</td>
<td class="nump">$ 1.36<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="nump">$ 0.40<span></span>
</td>
<td class="nump">$ 0.56<span></span>
</td>
<td class="nump">$ 1.50<span></span>
</td>
<td class="nump">$ 1.36<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480454/718-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-22<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-23<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-28A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642008037952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NET INCOME PER SHARE - Additional information (Details) - shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>NET INCOME PER SHARE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive common stock</a></td>
<td class="nump">690,167<span></span>
</td>
<td class="nump">1,146,834<span></span>
</td>
<td class="nump">881,056<span></span>
</td>
<td class="nump">1,103,334<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642003884016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CASH DIVIDENDS AND TREASURY STOCK (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="5">1 Months Ended</th>
<th class="th" colspan="4">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Sep. 19, 2023</div></th>
<th class="th"><div>Sep. 18, 2023</div></th>
<th class="th"><div>Jul. 31, 2023</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Jul. 31, 2022</div></th>
<th class="th"><div>Apr. 30, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Jul. 31, 2022</div></th>
<th class="th"><div>Apr. 30, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_CashDividendAndTreasuryStockAbstract', window );"><strong>CASH DIVIDENDS AND TREASURY STOCK</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_PercentageIncreaseInCommonStockDividendPerShare', window );">Percentage increase in common stock dividend</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">Regular cash dividend declared per common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.30<span></span>
</td>
<td class="nump">$ 0.25<span></span>
</td>
<td class="nump">$ 0.25<span></span>
</td>
<td class="nump">$ 0.25<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.30<span></span>
</td>
<td class="nump">$ 0.25<span></span>
</td>
<td class="nump">$ 0.25<span></span>
</td>
<td class="nump">$ 0.25<span></span>
</td>
<td class="nump">$ 0.80<span></span>
</td>
<td class="nump">$ 0.75<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Common stock repurchases (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">212,441<span></span>
</td>
<td class="nump">1,721,015<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Common stock repurchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,729<span></span>
</td>
<td class="nump">$ 10,084<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8,467<span></span>
</td>
<td class="nump">$ 63,252<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Share price</a></td>
<td class="nump">$ 39.67<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 36.75<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 39.67<span></span>
</td>
<td class="nump">$ 36.75<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 39.67<span></span>
</td>
<td class="nump">$ 36.75<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Shares paid for tax withholding for share based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">29,058<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation', window );">Share-based payment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 47.16<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareCashPaid', window );">Regular cash dividend paid per common stock</a></td>
<td class="nump">$ 0.25<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.25<span></span>
</td>
<td class="nump">$ 0.25<span></span>
</td>
<td class="nump">$ 0.25<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards', window );">Treasury stock to settle stock option exercises and other share-based awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">132,656<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_CashDividendAndTreasuryStockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_CashDividendAndTreasuryStockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_PercentageIncreaseInCommonStockDividendPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The percentage increase in common stock dividend per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_PercentageIncreaseInCommonStockDividendPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Average price of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of treasury stock used to settle stock option exercises and other stock share based awards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareCashPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends paid during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareCashPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends declared during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642002670064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CUSTOMER CONCENTRATIONS (Details) - customer<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Concentration Risk | Accounts Receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Customer Concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_NumberOfMajorCustomers', window );">Number of customers</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Concentration Risk | Contract Asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Customer Concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_NumberOfMajorCustomers', window );">Number of customers</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Concentration Risk | Major Customer One | Accounts Receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Customer Concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of major customers or segments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">36.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Concentration Risk | Major Customer One | Contract Asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Customer Concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of major customers or segments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">70.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Concentration Risk | Major Customer Two | Accounts Receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Customer Concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of major customers or segments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Concentration Risk | Major Customer Two | Contract Asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Customer Concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of major customers or segments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Concentration Risk | Major Customer Three | Accounts Receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Customer Concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of major customers or segments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=agx_PowerIndustryServicesMember', window );">Power Industry Services | Product Concentration Risk | Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Customer Concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of major customers or segments</a></td>
<td class="nump">74.00%<span></span>
</td>
<td class="nump">77.00%<span></span>
</td>
<td class="nump">73.00%<span></span>
</td>
<td class="nump">76.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=agx_PowerIndustryServicesMember', window );">Power Industry Services | Customer Concentration Risk | Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Customer Concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_NumberOfMajorCustomers', window );">Number of customers</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">4<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=agx_PowerIndustryServicesMember', window );">Power Industry Services | Customer Concentration Risk | Major Customer One | Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Customer Concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of major customers or segments</a></td>
<td class="nump">23.00%<span></span>
</td>
<td class="nump">33.00%<span></span>
</td>
<td class="nump">19.00%<span></span>
</td>
<td class="nump">42.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=agx_PowerIndustryServicesMember', window );">Power Industry Services | Customer Concentration Risk | Major Customer Two | Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Customer Concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of major customers or segments</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
<td class="nump">17.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=agx_PowerIndustryServicesMember', window );">Power Industry Services | Customer Concentration Risk | Major Customer Three | Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Customer Concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of major customers or segments</a></td>
<td class="nump">17.00%<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
<td class="nump">14.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=agx_PowerIndustryServicesMember', window );">Power Industry Services | Customer Concentration Risk | Major Customer Four | Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Customer Concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of major customers or segments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=agx_IndustrialConstructionServicesMember', window );">Industrial Construction Services | Product Concentration Risk | Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Customer Concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of major customers or segments</a></td>
<td class="nump">23.00%<span></span>
</td>
<td class="nump">19.00%<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_NumberOfMajorCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of major customers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_NumberOfMajorCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481027/954-310-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AssetsTotalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AssetsTotalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=agx_MajorCustomerOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=agx_MajorCustomerOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=agx_MajorCustomerTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=agx_MajorCustomerTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=agx_MajorCustomerThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=agx_MajorCustomerThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=agx_PowerIndustryServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=agx_PowerIndustryServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_ProductConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_ProductConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=agx_MajorCustomerFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=agx_MajorCustomerFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=agx_IndustrialConstructionServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=agx_IndustrialConstructionServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642002435536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT REPORTING (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Oct. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Oct. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Oct. 31, 2023 </div>
<div>USD ($) </div>
<div>segment</div>
</th>
<th class="th">
<div>Oct. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfOperatingSegments', window );">Operating segment | segment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 163,755<span></span>
</td>
<td class="nump">$ 117,875<span></span>
</td>
<td class="nump">$ 408,779<span></span>
</td>
<td class="nump">$ 336,262<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of revenues</a></td>
<td class="nump">144,520<span></span>
</td>
<td class="nump">95,667<span></span>
</td>
<td class="nump">351,578<span></span>
</td>
<td class="nump">269,929<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">19,235<span></span>
</td>
<td class="nump">22,208<span></span>
</td>
<td class="nump">57,201<span></span>
</td>
<td class="nump">66,333<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative expenses</a></td>
<td class="nump">11,375<span></span>
</td>
<td class="nump">12,667<span></span>
</td>
<td class="nump">32,467<span></span>
</td>
<td class="nump">34,226<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income (loss) from operations</a></td>
<td class="nump">7,860<span></span>
</td>
<td class="nump">9,541<span></span>
</td>
<td class="nump">24,734<span></span>
</td>
<td class="nump">32,107<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (loss), net</a></td>
<td class="nump">3,733<span></span>
</td>
<td class="nump">768<span></span>
</td>
<td class="nump">7,222<span></span>
</td>
<td class="nump">1,868<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before income taxes</a></td>
<td class="nump">11,593<span></span>
</td>
<td class="nump">10,309<span></span>
</td>
<td class="nump">31,956<span></span>
</td>
<td class="nump">33,975<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">6,129<span></span>
</td>
<td class="nump">2,551<span></span>
</td>
<td class="nump">11,616<span></span>
</td>
<td class="nump">14,510<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">5,464<span></span>
</td>
<td class="nump">7,758<span></span>
</td>
<td class="nump">20,340<span></span>
</td>
<td class="nump">19,465<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangibles</a></td>
<td class="nump">98<span></span>
</td>
<td class="nump">212<span></span>
</td>
<td class="nump">294<span></span>
</td>
<td class="nump">611<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">489<span></span>
</td>
<td class="nump">740<span></span>
</td>
<td class="nump">1,524<span></span>
</td>
<td class="nump">2,296<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentExpenditureAdditionToLongLivedAssets', window );">Property, plant and equipment additions</a></td>
<td class="nump">1,112<span></span>
</td>
<td class="nump">1,944<span></span>
</td>
<td class="nump">2,143<span></span>
</td>
<td class="nump">2,582<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Current assets</a></td>
<td class="nump">514,071<span></span>
</td>
<td class="nump">364,965<span></span>
</td>
<td class="nump">514,071<span></span>
</td>
<td class="nump">364,965<span></span>
</td>
<td class="nump">$ 438,702<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Current liabilities</a></td>
<td class="nump">273,894<span></span>
</td>
<td class="nump">134,542<span></span>
</td>
<td class="nump">273,894<span></span>
</td>
<td class="nump">134,542<span></span>
</td>
<td class="nump">202,503<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">28,033<span></span>
</td>
<td class="nump">28,033<span></span>
</td>
<td class="nump">28,033<span></span>
</td>
<td class="nump">28,033<span></span>
</td>
<td class="nump">28,033<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">563,652<span></span>
</td>
<td class="nump">410,903<span></span>
</td>
<td class="nump">563,652<span></span>
</td>
<td class="nump">410,903<span></span>
</td>
<td class="nump">$ 489,487<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember', window );">Other</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative expenses</a></td>
<td class="nump">2,751<span></span>
</td>
<td class="nump">3,303<span></span>
</td>
<td class="nump">8,197<span></span>
</td>
<td class="nump">8,172<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income (loss) from operations</a></td>
<td class="num">(2,751)<span></span>
</td>
<td class="num">(3,303)<span></span>
</td>
<td class="num">(8,197)<span></span>
</td>
<td class="num">(8,172)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (loss), net</a></td>
<td class="nump">342<span></span>
</td>
<td class="nump">176<span></span>
</td>
<td class="num">(1,863)<span></span>
</td>
<td class="nump">254<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before income taxes</a></td>
<td class="num">(2,409)<span></span>
</td>
<td class="num">(3,127)<span></span>
</td>
<td class="num">(10,060)<span></span>
</td>
<td class="num">(7,918)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentExpenditureAdditionToLongLivedAssets', window );">Property, plant and equipment additions</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">4<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="nump">4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Current assets</a></td>
<td class="nump">71,038<span></span>
</td>
<td class="nump">91,959<span></span>
</td>
<td class="nump">71,038<span></span>
</td>
<td class="nump">91,959<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Current liabilities</a></td>
<td class="nump">1,592<span></span>
</td>
<td class="nump">1,179<span></span>
</td>
<td class="nump">1,592<span></span>
</td>
<td class="nump">1,179<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">73,555<span></span>
</td>
<td class="nump">92,709<span></span>
</td>
<td class="nump">73,555<span></span>
</td>
<td class="nump">92,709<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=agx_PowerIndustryServicesMember', window );">Power Industry Services | Operating Segments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">121,300<span></span>
</td>
<td class="nump">90,682<span></span>
</td>
<td class="nump">296,821<span></span>
</td>
<td class="nump">255,958<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of revenues</a></td>
<td class="nump">107,781<span></span>
</td>
<td class="nump">72,725<span></span>
</td>
<td class="nump">255,210<span></span>
</td>
<td class="nump">202,985<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">13,519<span></span>
</td>
<td class="nump">17,957<span></span>
</td>
<td class="nump">41,611<span></span>
</td>
<td class="nump">52,973<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative expenses</a></td>
<td class="nump">6,390<span></span>
</td>
<td class="nump">6,745<span></span>
</td>
<td class="nump">17,700<span></span>
</td>
<td class="nump">18,418<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income (loss) from operations</a></td>
<td class="nump">7,129<span></span>
</td>
<td class="nump">11,212<span></span>
</td>
<td class="nump">23,911<span></span>
</td>
<td class="nump">34,555<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (loss), net</a></td>
<td class="nump">3,391<span></span>
</td>
<td class="nump">592<span></span>
</td>
<td class="nump">9,088<span></span>
</td>
<td class="nump">1,613<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before income taxes</a></td>
<td class="nump">10,520<span></span>
</td>
<td class="nump">11,804<span></span>
</td>
<td class="nump">32,999<span></span>
</td>
<td class="nump">36,168<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">137<span></span>
</td>
<td class="nump">142<span></span>
</td>
<td class="nump">393<span></span>
</td>
<td class="nump">422<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentExpenditureAdditionToLongLivedAssets', window );">Property, plant and equipment additions</a></td>
<td class="nump">583<span></span>
</td>
<td class="nump">774<span></span>
</td>
<td class="nump">1,120<span></span>
</td>
<td class="nump">868<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Current assets</a></td>
<td class="nump">399,489<span></span>
</td>
<td class="nump">237,575<span></span>
</td>
<td class="nump">399,489<span></span>
</td>
<td class="nump">237,575<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Current liabilities</a></td>
<td class="nump">244,662<span></span>
</td>
<td class="nump">110,383<span></span>
</td>
<td class="nump">244,662<span></span>
</td>
<td class="nump">110,383<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">18,476<span></span>
</td>
<td class="nump">18,476<span></span>
</td>
<td class="nump">18,476<span></span>
</td>
<td class="nump">18,476<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">426,466<span></span>
</td>
<td class="nump">261,994<span></span>
</td>
<td class="nump">426,466<span></span>
</td>
<td class="nump">261,994<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=agx_IndustrialConstructionServicesMember', window );">Industrial Construction Services | Operating Segments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">38,434<span></span>
</td>
<td class="nump">22,137<span></span>
</td>
<td class="nump">101,497<span></span>
</td>
<td class="nump">67,660<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of revenues</a></td>
<td class="nump">33,899<span></span>
</td>
<td class="nump">18,737<span></span>
</td>
<td class="nump">88,537<span></span>
</td>
<td class="nump">56,968<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">4,535<span></span>
</td>
<td class="nump">3,400<span></span>
</td>
<td class="nump">12,960<span></span>
</td>
<td class="nump">10,692<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative expenses</a></td>
<td class="nump">1,626<span></span>
</td>
<td class="nump">1,823<span></span>
</td>
<td class="nump">4,532<span></span>
</td>
<td class="nump">5,267<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income (loss) from operations</a></td>
<td class="nump">2,909<span></span>
</td>
<td class="nump">1,577<span></span>
</td>
<td class="nump">8,428<span></span>
</td>
<td class="nump">5,425<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before income taxes</a></td>
<td class="nump">2,909<span></span>
</td>
<td class="nump">1,577<span></span>
</td>
<td class="nump">8,428<span></span>
</td>
<td class="nump">5,425<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangibles</a></td>
<td class="nump">98<span></span>
</td>
<td class="nump">166<span></span>
</td>
<td class="nump">294<span></span>
</td>
<td class="nump">497<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">249<span></span>
</td>
<td class="nump">501<span></span>
</td>
<td class="nump">813<span></span>
</td>
<td class="nump">1,553<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentExpenditureAdditionToLongLivedAssets', window );">Property, plant and equipment additions</a></td>
<td class="nump">497<span></span>
</td>
<td class="nump">928<span></span>
</td>
<td class="nump">973<span></span>
</td>
<td class="nump">1,415<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Current assets</a></td>
<td class="nump">39,843<span></span>
</td>
<td class="nump">31,355<span></span>
</td>
<td class="nump">39,843<span></span>
</td>
<td class="nump">31,355<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Current liabilities</a></td>
<td class="nump">25,839<span></span>
</td>
<td class="nump">21,560<span></span>
</td>
<td class="nump">25,839<span></span>
</td>
<td class="nump">21,560<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">9,467<span></span>
</td>
<td class="nump">9,467<span></span>
</td>
<td class="nump">9,467<span></span>
</td>
<td class="nump">9,467<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">57,112<span></span>
</td>
<td class="nump">48,766<span></span>
</td>
<td class="nump">57,112<span></span>
</td>
<td class="nump">48,766<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=agx_TelecommunicationsInfrastructureServicesMember', window );">Telecommunications Infrastructure Services | Operating Segments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">4,021<span></span>
</td>
<td class="nump">5,056<span></span>
</td>
<td class="nump">10,461<span></span>
</td>
<td class="nump">12,644<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of revenues</a></td>
<td class="nump">2,840<span></span>
</td>
<td class="nump">4,205<span></span>
</td>
<td class="nump">7,831<span></span>
</td>
<td class="nump">9,976<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">1,181<span></span>
</td>
<td class="nump">851<span></span>
</td>
<td class="nump">2,630<span></span>
</td>
<td class="nump">2,668<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative expenses</a></td>
<td class="nump">608<span></span>
</td>
<td class="nump">796<span></span>
</td>
<td class="nump">2,038<span></span>
</td>
<td class="nump">2,369<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income (loss) from operations</a></td>
<td class="nump">573<span></span>
</td>
<td class="nump">55<span></span>
</td>
<td class="nump">592<span></span>
</td>
<td class="nump">299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (loss), net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3)<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before income taxes</a></td>
<td class="nump">573<span></span>
</td>
<td class="nump">55<span></span>
</td>
<td class="nump">589<span></span>
</td>
<td class="nump">300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangibles</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">114<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">102<span></span>
</td>
<td class="nump">96<span></span>
</td>
<td class="nump">315<span></span>
</td>
<td class="nump">318<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentExpenditureAdditionToLongLivedAssets', window );">Property, plant and equipment additions</a></td>
<td class="nump">31<span></span>
</td>
<td class="nump">238<span></span>
</td>
<td class="nump">49<span></span>
</td>
<td class="nump">295<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Current assets</a></td>
<td class="nump">3,701<span></span>
</td>
<td class="nump">4,076<span></span>
</td>
<td class="nump">3,701<span></span>
</td>
<td class="nump">4,076<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Current liabilities</a></td>
<td class="nump">1,801<span></span>
</td>
<td class="nump">1,420<span></span>
</td>
<td class="nump">1,801<span></span>
</td>
<td class="nump">1,420<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">90<span></span>
</td>
<td class="nump">90<span></span>
</td>
<td class="nump">90<span></span>
</td>
<td class="nump">90<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">$ 6,519<span></span>
</td>
<td class="nump">$ 7,434<span></span>
</td>
<td class="nump">$ 6,519<span></span>
</td>
<td class="nump">$ 7,434<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentExpenditureAdditionToLongLivedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenditure for addition to long-lived assets included in determination of segment assets by chief operating decision maker (CODM) or otherwise regularly provided to CODM. Excludes expenditure for addition to financial instrument, long-term customer relationship of financial institution, mortgage and other servicing rights, deferred policy acquisition cost, and deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-25<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482785/280-10-55-48<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentExpenditureAdditionToLongLivedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=agx_PowerIndustryServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=agx_PowerIndustryServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=agx_IndustrialConstructionServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=agx_IndustrialConstructionServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=agx_TelecommunicationsInfrastructureServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=agx_TelecommunicationsInfrastructureServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642009010416">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_SupplementalFinancialStatementInformationAbstract', window );"><strong>SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_IncomeTaxRefundsAndPrepaidIncomeTaxes', window );">Income tax refunds receivable and prepaid income taxes</a></td>
<td class="nump">$ 16,550<span></span>
</td>
<td class="nump">$ 15,327<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterials', window );">Raw materials inventory</a></td>
<td class="nump">12,449<span></span>
</td>
<td class="nump">11,903<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseCurrent', window );">Prepaid expenses</a></td>
<td class="nump">6,106<span></span>
</td>
<td class="nump">4,541<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsMiscellaneousCurrent', window );">Other</a></td>
<td class="nump">6,138<span></span>
</td>
<td class="nump">6,563<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Total other current assets</a></td>
<td class="nump">$ 41,243<span></span>
</td>
<td class="nump">$ 38,334<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_IncomeTaxRefundsAndPrepaidIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income tax refunds and prepaid income taxes .</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_IncomeTaxRefundsAndPrepaidIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_SupplementalFinancialStatementInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Na</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_SupplementalFinancialStatementInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsMiscellaneousCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of other miscellaneous assets expected to be realized or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsMiscellaneousCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482955/340-10-05-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483032/340-10-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642003723696">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_SupplementalFinancialStatementInformationAbstract', window );"><strong>SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_AccruedProjectCostsCurrent', window );">Accrued project costs</a></td>
<td class="nump">$ 52,719<span></span>
</td>
<td class="nump">$ 17,448<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedEmployeeBenefitsCurrent', window );">Accrued compensation</a></td>
<td class="nump">17,921<span></span>
</td>
<td class="nump">18,286<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_agx_AccruedLeaseLiabilitiesCurrent', window );">Lease liabilities</a></td>
<td class="nump">1,447<span></span>
</td>
<td class="nump">1,567<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">11,106<span></span>
</td>
<td class="nump">12,566<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Total accrued expenses</a></td>
<td class="nump">$ 83,193<span></span>
</td>
<td class="nump">$ 49,867<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_AccruedLeaseLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_AccruedLeaseLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_AccruedProjectCostsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_AccruedProjectCostsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_agx_SupplementalFinancialStatementInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Na</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">agx_SupplementalFinancialStatementInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>agx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedEmployeeBenefitsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedEmployeeBenefitsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642011159616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Additional Information (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th">
<div>Oct. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnusualOrInfrequentItemAxis=agx_FraudulentlyInducedPaymentMember', window );">Fraudulently Induced Payment</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnusualOrInfrequentItemLineItems', window );"><strong>SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnusualOrInfrequentItemNetGainLoss', window );">Total amount of fraud loss and professional fee recovered</a></td>
<td class="nump">$ 2.8<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnusualOrInfrequentItemLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnusualOrInfrequentItemLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnusualOrInfrequentItemNetGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of (gain) loss for an event or transaction that is unusual in nature or occurs infrequently, or both.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482551/740-270-45-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483614/220-20-45-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483613/220-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnusualOrInfrequentItemNetGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnusualOrInfrequentItemAxis=agx_FraudulentlyInducedPaymentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnusualOrInfrequentItemAxis=agx_FraudulentlyInducedPaymentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642013748896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">$ 5,464<span></span>
</td>
<td class="nump">$ 7,758<span></span>
</td>
<td class="nump">$ 20,340<span></span>
</td>
<td class="nump">$ 19,465<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.3</span><table class="report" border="0" cellspacing="2" id="idm139642012638912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Oct. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TradingArrByIndTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TradingArrByIndTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>agx-20231031x10q_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:agx="http://www.arganinc.com/20231031"
  xmlns:country="http://xbrl.sec.gov/country/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="agx-20231031.xsd" xlink:type="simple"/>
    <context id="Duration_2_1_2023_To_10_31_2023_us-gaap_UnusualOrInfrequentItemAxis_agx_FraudulentlyInducedPaymentMember_4I0cyeJLeky2ImXpHaBYzA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:UnusualOrInfrequentItemAxis">agx:FraudulentlyInducedPaymentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_HgkAd9W1qk6RZJjm8x8hQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_nNK_0ERsZU63dbCyeQxvow">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XN9bK6dAkka2r1d5RoS07A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_aYX5nFlsDEKic34oPzr_JQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_R97tOVX3DE2ZjYeZb7gVdg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_aHf7UIyBWUWuDbGCe9gEHg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_BE3g4AKCT0icD4KhcQCv3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_PBr3LQocCU6WC4gEpDjsUg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_QhTsDPL5t0SWTGIxy8Ht6g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_5iFVEnJkx0GzuofOu5o79A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_aGbh1bV5UkqsEcK4wEug5w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_531BwNfWbUu4tAuty15tdw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_vJ5knMgynkiv8oWip4CvDQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-07-31</instant>
        </period>
    </context>
    <context id="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_qFyir8uYOU-kZ3aTgQFgcA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-07-31</instant>
        </period>
    </context>
    <context id="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_9RfXlsf7v0muo5HloLjuJQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-07-31</instant>
        </period>
    </context>
    <context id="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jl2B1pgEKk-AsAFnhTN28w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-07-31</instant>
        </period>
    </context>
    <context id="As_Of_7_31_2023_wl-fNqtJdEyoUfXB2G25LQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <instant>2023-07-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_bRPCh68zykKMeAIqa8gu3w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_R_YY9W08wU2hasdEbu810Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_CXZrrzm7gUWTxo-HJttZUw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_AGdXlZfrJEah56jQv88OYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_zOEnqhzLKEmHSGIZBQSRiQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_QfKSuPoU6E6XyK8ASCpcqA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_KG7MHJWDkUyAB4swVjh1-Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_6gOBTZKko02Ut2etGC5Hrw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_w6QI7NDGwUy31pw-umbGNg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_UzQBSB05RkCpQOemQrkifw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_hlKzzz6jekW8XZtcseTyaw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_dPAGrK4oo0GoskK-sKNkJA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_7ZNwO8v12kaojq7ftRcJBg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Xg36O4FdwUeYP_GsDqxyqw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="As_Of_7_31_2022_RZh5LLLEkUG-pI2c73VcpA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_43CEeQDn9kynfTIsOlHFvQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_aRTlo58Ugkq6dFtmXgzEZQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_VxbfDfgo6kGGriKZ9jbB7w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_fQ78v0oJMEKfDSnep2hWpA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_t2rXN_gRN0-7ich39duFsg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_t4iJcNnERUimZvDBLpfq0g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_1rieYgy7p0iw7fLcp1PRQw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-07-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_wVsDYo091kefNR8StzQ4GA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nHF-Tvbu1EGfRzcjf3ZqLw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_OFHmxPc070GZY-KEZeH80g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cULSIC17AkCREkFgFtRGCQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_1_31_2023_I-QeavC5_Uic4XGNNmm6bA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_agx_IncentiveStockOptionsMember_us-gaap_PlanNameAxis_agx_StockPlanMember_Zes_lVAzAUWHA1JwelBujA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:IncentiveStockOptionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">agx:StockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_X54GfyMLg0C3LIarZOyNOw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_aRue0zOfp0GnMgOX2ckfuw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_zA47Crc9X02F3o2gCvoF0w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_-7wxLOTIyEuICMl6UtYKxA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_agx_cnst_date_20231101_f0dFuGrR1EWi8R0HXFKP2A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-11-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_US_JM0zl5FnBEi9X8k6zzP9dw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_IE_xieRSBauK02EwwzpwPmtWw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_GB_OdAfCNas7keHP5KsiWR5kQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_US_Lg3OB5LTFkKvZTY_syzI0Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_IE_qQplgu3MBU-s796Wqo4PoQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_GB_XOkIYnM2c0CuFGGfLPrn8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_US_Jy0x8AOi5EeHztHQfrachQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_IE_kqPcWlDgtU20eUhhIXiAag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_GB_adAO0Qpb00e5py96y3qITA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_US_fp92KtoXAEmdLGBx0kF9iw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_IE_JWa78aVVikSfpr7XPPFPBA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_GB_dquM4aXBwEOb5ybWMRMWxA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_DM4hBJK85Uabq0jtOtqYsQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_6cfMBLpg_k6iZ-tf2YJ9FA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_BOZkbGhTSU66xSVInXn-lA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Zy415mdycka3Tzzrd9ZXXQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_6_2023_srt_StatementScenarioAxis_agx_LettersOfCreditExpireOnMay312024Member_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_LV0LBuop5k-Wzwb2XVeLSQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">agx:LettersOfCreditExpireOnMay312024Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-06</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LetterOfCreditMember_hfbu22JiBkm1BkT7VQpHQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LetterOfCreditMember_ETIbmSfZ_0OoqXYoRZcPXg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_vcJKnDFBJUWrImj4VKR5mg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherNonoperatingIncomeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_CVUExyfEu0ihiZ_gTTCtMA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherNonoperatingIncomeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_pVvz3-u7VEaOeqWx3DEYhw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherNonoperatingIncomeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_E3hAogTyqEmHN_FQY-NHlA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherNonoperatingIncomeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_BusinessAcquisitionAxis_agx_GemmaPowerSystemsMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_FDUayURBBkKT_dwK8-mBbQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">agx:GemmaPowerSystemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">us-gaap:FinancialGuaranteeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_BusinessAcquisitionAxis_agx_RobertsCompanyIncMember__Zndj7C-hkiHrLpwFmDpQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">agx:RobertsCompanyIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_BusinessAcquisitionAxis_agx_GemmaPowerSystemLlcMember_VMXL5qAKQEalXct2jNqK9w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">agx:GemmaPowerSystemLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2023_us-gaap_BusinessAcquisitionAxis_agx_RobertsCompanyIncMember_b5JYj9LV60acq2q7HafqoQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">agx:RobertsCompanyIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2023_us-gaap_BusinessAcquisitionAxis_agx_GemmaPowerSystemLlcMember_cYUscEt4dUGaU78UpSsK3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">agx:GemmaPowerSystemLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_Ne1FJ2isGUCt2uRTqLEhxw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_a8MarYEcc0C-NFJLBaWUBw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_sDlUVfDlNU2GpbVUMl0GJA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_2Uf418UqMESeH7TAys-GzQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_wbCCZPSvxkWC_OxdExpgyg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_24dXm-Mkg02xeXuBvPiELA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_GzEObMdRFk6TInF9m59IEg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_eenrnne7iUOizX1g7Hhw9g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_2gQcgtAOAU2tLT818DbZLg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_k5H1fVH6TEiPuox9CDHJDg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_qFGQqrhQ90mtJgXd2fI7Rw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_LGwCN6dECkSeVEpVwGfKVQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="As_Of_1_31_2021_AMfooaGhjEyDWkTzNl6KxQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <instant>2021-01-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_srt_RangeAxis_srt_MinimumMember_eAKlOHlg00GJ1Jdpb0XT_A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_srt_RangeAxis_srt_MaximumMember_smZDP0lTmU2mJKgDA-ww-A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="Duration_3_6_2023_To_3_6_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_dn5OlVQRX0GiM3t5vBk4Ew">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-06</startDate>
            <endDate>2023-03-06</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:TelecommunicationsInfrastructureServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:TelecommunicationsInfrastructureServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_qpPZ-64MGUuQRM3WfG1w2w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerThreeMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_nnGeiuH5yEqMOv1jy2fH6A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_0nodJzMte0WqkEfss4r00w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_TOFJYRCsZ0ax_sPugYpN-g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_IndustrialConstructionServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_D9x0R5OFgkWBriGhuA42_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_QVmQjWGAQEiyJ4EmIsGrBA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerThreeMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_SC_qCYgMM0GHECWZidS6XQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_DmW3_yXD0keQKcgPUINcBQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_34MMemZmqUekjfaI-dijoQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_4jyQyBOKOkWkJmXxlAMDYQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AssetsTotalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_4cvGZp4InUWJMSxOfwdemQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_9Tpyr7w9JEqm9CmnGIYCeg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AssetsTotalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_6FBvwBXLfESPvY3_xEm4Vw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_IndustrialConstructionServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_QJv13vgwAEuBb9nY5ofDvA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_TTpPjmyM3UO3bmebx9N5vA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerThreeMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_uA3eSQRV80a1DyYB3jBdtw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_l3CwrdcD60arabrpdAWx-Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerFourMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_t6DLlDE3FESEj0IspBJW9w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_QxaikJocsk-i_XGrAIagMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_IndustrialConstructionServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_b2E3ZdjNoEC8-fBnjJbqBg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_1_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Bgq30WwKoEyVLQ_Hnc7qqQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_1_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_zM_W8tsz80a6ZzIXW6pUFw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_1_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_IPLz1CzhQEmHfD8E0Mm2Cg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AssetsTotalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_1_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember__sNLvg0oFEaJifoWDz25Fw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_bbnTfRbF5kSzfnhw2dFrmw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">agx:MajorCustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_AXM7UtxXwUCviabcBOhkZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_IndustrialConstructionServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_dvCPd1QR10-JJqKAwbT9CQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_9_19_2023_To_9_19_2023_P225MhbPHEKv_B83RaaMAg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <startDate>2023-09-19</startDate>
            <endDate>2023-09-19</endDate>
        </period>
    </context>
    <context id="Duration_9_18_2023_To_9_18_2023_g8t3fgSiKkuwPJBMXhR0-w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <startDate>2023-09-18</startDate>
            <endDate>2023-09-18</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2023_To_7_31_2023_Eie9zLwl00STBbUHvxa2vw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2023-07-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_4_30_2023_HmFAs4ftaU-GBkq3IixcPQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="Duration_5_1_2022_To_7_31_2022_F97vAHt2cE2stAX7PqauuA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_4_30_2022_30TDhKaaCE-W2jx2hHd2tQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="Duration_10_31_2023_To_10_31_2023_eZng51bBpUu8xeYOMx4RMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <startDate>2023-10-31</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_10_1_2022_To_10_31_2022_L6xtYAOF-k-hp2aMoibbCw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2022_To_7_31_2022_Atn2q8yadU2CQyw9NCr0KA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_4_30_2022_mS8MqF6Glk6f8g2IAB3FHg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_rEP8SaP03Ee5Fal16dt0-Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_6_20_2023_us-gaap_PlanNameAxis_agx_Plan2020Member_bJmwYxqUfEO6J7ioRlgNfQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">agx:Plan2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-20</instant>
        </period>
    </context>
    <context id="As_Of_6_23_2020_us-gaap_PlanNameAxis_agx_Plan2020Member_OZmzww4oUUyKOiQww01y5w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">agx:Plan2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-23</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2022_0L1krGcOzUK7J45Ax31K4Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_MoneyMarketFundsMember_N2vYUWT7yUOBs7l345GqUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_MoneyMarketFundsMember_1xj-kM2W-kyCGBZzyvK1kA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_cJkE9UEetkadiXKJWJVOyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_DomesticCorporateDebtSecuritiesMember_PFbvV6whs0izkW7oLuWsag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:DomesticCorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_lpGpOBowe0mPsFRsucdSAg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_ipRTsEGczUKt6yz_oAs3sA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_467ma05pu0yUZKnF0WQYKA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_4AE0uNKkakG4Sj9kA1BTKg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:TelecommunicationsInfrastructureServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_C7iIItZ2K0SkA10qUMh2-g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_joXSAgZ9hkqwVMYk9JYtXg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_SY7C-1jRW06vsOLX3_3ZaA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_yCSEoP9M-EapQq-dnwWWTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:TelecommunicationsInfrastructureServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Ne7C0d2hAUqp12hEB0RXhw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_g6tNsTHOZ0Kgn9AXhoZDyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_Eo_94pCbHE2BEsUFrvUz2g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:TelecommunicationsInfrastructureServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:TelecommunicationsInfrastructureServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">agx:IndustrialConstructionServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_8kWGF2pwP02JxsHVuibzTw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_diLB4mMMqU2D0ghsnddx2A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_A_pJS21yz0qtS-xUVQi8Eg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_7i4DcXVx0U2Y0RWJKzRFLQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_1_2023_xwq3pcoJakWNfviCYwtNLw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <instant>2023-12-01</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_CDdx1db0NUu3tvfK0SxEfg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InformationByCategoryOfDebtSecurityAxis">us-gaap:HeldtomaturitySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_sRfVZe-kZ0C3KtorDcgnmw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InformationByCategoryOfDebtSecurityAxis">us-gaap:HeldtomaturitySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_RangeAxis_srt_MinimumMember_r8zAn4KPVk6BZauT13M75A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_RangeAxis_srt_MaximumMember_R83E7ETSDkaHhVaQZSNSbw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_pmgV6BguZEidry-tZ7loyA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_TitleOfIndividualAxis_srt_ExecutiveOfficerMember_us-gaap_AwardTypeAxis_agx_PerformanceBasedRestrictedStockUnitsMember_us-gaap_PlanNameAxis_agx_StockPlanMember_o4GhG6ViKkWzIcpm9DcLiA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">agx:StockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="As_Of_9_19_2023_gINSPJ0LeEi-tW4ncaLAkg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <instant>2023-09-19</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_AwardTypeAxis_agx_TimeBasedRestrictedStockUnitsMember_RHLT3gkQG0CFqCUKlX88XA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:TimeBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_AwardTypeAxis_agx_RenewablePerformanceBasedRestrictedStockUnitsMember_2Na8JWlL6kWoliHSXc-T5Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:RenewablePerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_AwardTypeAxis_agx_PerformanceBasedRestrictedStockUnitsMember_8MEXG9tC_0erje-pB6PdoA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_AwardTypeAxis_agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember_xXA4f-0QM0qUeO8XMuhlbg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:EarningsPerSharePerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2022_us-gaap_AwardTypeAxis_agx_TimeBasedRestrictedStockUnitsMember_OUFq_pYVE0KRvR8dQoVydg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:TimeBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2022_us-gaap_AwardTypeAxis_agx_RenewablePerformanceBasedRestrictedStockUnitsMember_NTY0GN1ypEeX9Hsa9ghdOg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:RenewablePerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2022_us-gaap_AwardTypeAxis_agx_PerformanceBasedRestrictedStockUnitsMember_eSM7ATnZpkek7QKGHZ4q6Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">agx:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_PTYeN21aqUSfOconqjq98w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_QFXkOZwmR0Ct1C_VD7cQWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember__R95hML_HEmhwl3v-VzLMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AssetsTotalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_RP1OztK-wUmMTaKrIv5ODg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_LqcJtSiDsUCe02J-ydHsUg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_1_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_mfZeUc6bWE6JSCid6sOu9w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AssetsTotalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_1_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_s0-8b4_Lnkiyzwq89IUHGQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_hWwH3jPQpUCOQVKtkR5_mg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:PowerIndustryServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="Duration_3_6_2023_To_3_6_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_R0550NVAbUqttxkvrVTYKQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-06</startDate>
            <endDate>2023-03-06</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_LKMIB-vZrUCVbq6S3eVMqA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InformationByCategoryOfDebtSecurityAxis">us-gaap:HeldtomaturitySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_1_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_qdl4QKRup0KHvUVIVAk4NQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InformationByCategoryOfDebtSecurityAxis">us-gaap:HeldtomaturitySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_dei_LegalEntityAxis_agx_AtlanticProjectsCompanyLimitedMember_srt_ProductOrServiceAxis_agx_KilrootProjectMember_HDUER1KQ1EiAeqUqsbpE0g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:KilrootProjectMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">agx:AtlanticProjectsCompanyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2023_To_10_31_2023_dei_LegalEntityAxis_agx_AtlanticProjectsCompanyLimitedMember_srt_ProductOrServiceAxis_agx_KilrootProjectMember_4JFEAsBveUK8evsJo9TzLA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">agx:KilrootProjectMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">agx:AtlanticProjectsCompanyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-08-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="As_Of_1_31_2020_oh5ZOlOA8EG28vpw37cNGQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_DomesticCorporateDebtSecuritiesMember_uFu6VIXzx0eukHqLarGEsw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:DomesticCorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasuryNotesSecuritiesMember_-mfNXL6ipUeTey3s--JCTQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryNotesSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000100591</identifier>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <unit id="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q">
        <measure>agx:customer</measure>
    </unit>
    <unit id="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">
        <measure>shares</measure>
    </unit>
    <unit id="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">
        <measure>pure</measure>
    </unit>
    <unit id="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Standard_segment_Qf-wPLAT-Uq_WKTfPWnY7g">
        <measure>agx:segment</measure>
    </unit>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      id="Hidden_bPIDy-jdkk6WB8dRjD3P6Q"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      id="Hidden_mqQGJdW0rkCLvBZcms103w"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA"
      xsi:nil="true"/>
    <dei:EntityCentralIndexKey
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tc_0ZdHnm3_MEyAhgAAcx_GMg_2_1">0000100591</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tc_KNaaP-anN0-kQWU28-kzxA_3_1">--01-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tc_ZZ1QKEaxIUCecCrlfJ0djQ_4_1">2024</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tc_tpGGlM0Bm0i3WmfSt94-1w_5_1">Q3</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tc_e8LCBpi0hEiS8-_PdMx_XQ_6_1">false</dei:AmendmentFlag>
    <dei:EntityRegistrantName
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tc_qm2rt1dFe0GbhBbDCuKZlA_7_1">ARGAN INC</dei:EntityRegistrantName>
    <us-gaap:PreferredStockSharesIssued
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="INF"
      id="Hidden_mz2mR-Z6mkWcwKOuXwwM9Q"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="INF"
      id="Hidden_HB2q93v30Eaj8uLJ7-2EfA"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="Duration_4_1_2022_To_4_30_2022_mS8MqF6Glk6f8g2IAB3FHg"
      decimals="2"
      id="Hidden_McNSxPoppUS_VrtAMcUioQ"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.25</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="Duration_7_1_2022_To_7_31_2022_Atn2q8yadU2CQyw9NCr0KA"
      decimals="2"
      id="Hidden_ZXpUVBs_V0Op9k1OGzXLKw"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.25</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="Duration_10_1_2022_To_10_31_2022_L6xtYAOF-k-hp2aMoibbCw"
      decimals="2"
      id="Hidden__0fwpMHltkK4KFsXTq08xQ"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.25</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:PreferredStockValue
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      id="Hidden_HEPGc3MU_EiwuPKPJ1at0A"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      id="Hidden_f38CkcwZlECc6gsMBLs64w"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA"
      xsi:nil="true"/>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="INF"
      id="Hidden_u5l49B9upUCBRP8PyPdfrw"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">15828289</us-gaap:CommonStockSharesIssued>
    <us-gaap:DebtSecuritiesAvailableForSaleTerm
      contextRef="As_Of_10_31_2023_srt_RangeAxis_srt_MinimumMember_eAKlOHlg00GJ1Jdpb0XT_A"
      id="Hidden_orIKaN3q4UiNEKA6QCAiFA">P2Y</us-gaap:DebtSecuritiesAvailableForSaleTerm>
    <us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      id="Hidden_VUj7GkZRd0aiWjArR6w1hw">http://fasb.org/us-gaap/2023#Investments</us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      id="Hidden_qWc9YZ_6xkerbBuXoOIA4w">http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      id="Hidden_iqQwAB-AiEed2DHu2UYUkQ">http://fasb.org/us-gaap/2023#LiabilitiesNoncurrent</us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <agx:WarrantyPeriodForConstructionContracts
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_RangeAxis_srt_MinimumMember_r8zAn4KPVk6BZauT13M75A"
      id="Hidden_gMBAheEq_kOzx0KxveqGYw">P9M</agx:WarrantyPeriodForConstructionContracts>
    <agx:WarrantyPeriodForConstructionContracts
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_RangeAxis_srt_MaximumMember_R83E7ETSDkaHhVaQZSNSbw"
      id="Hidden_I7q3rmom0067CqYEeBSZVA">P24M</agx:WarrantyPeriodForConstructionContracts>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_-7wxLOTIyEuICMl6UtYKxA"
      decimals="4"
      id="Hidden_Mr14uOmysEucC82tsWJH9g"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.3333</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_-7wxLOTIyEuICMl6UtYKxA"
      id="Hidden_Uk_dwLKzMEGjcw8lOl7pTQ">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_RangeAxis_srt_MinimumMember_r8zAn4KPVk6BZauT13M75A"
      id="Hidden_Trjnt_zL3kmpBU4lMTu6kg">P3Y</agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="Duration_10_31_2023_To_10_31_2023_eZng51bBpUu8xeYOMx4RMw"
      decimals="2"
      id="Hidden_Ajgz7_ecxkKV3UHC2MTVfw"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.25</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Hidden_hjEpon2EBUa5fTiijqbvbQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">8467000</us-gaap:StockRepurchasedDuringPeriodValue>
    <dei:DocumentType
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_JMB0yHZl90i8JgWKw1jzoA">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tc_GlvqGxAVBESoCBLuMULAQA_1_0">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_JVlbYu0zgki-008ZUDsokQ">2023-10-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tc_sp8ZzYmllUGELHcv5d_m3w_1_0">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_9-e9N87oDU2DiBhi4LqbvQ">001-31756</dei:EntityFileNumber>
    <dei:EntityIncorporationStateCountryCode
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tc_DW0TREhpkU-Vm6aMwi1IcQ_1_0">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tc_YzPTrfpxCEO-7mp_jZhqJQ_1_2">13-1947195</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_fls9hk0Z-0iBS8iI36UhNQ">One Church Street, Suite 201</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_2iB8rB748EyVbJawlVnTvg">Rockville</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_pZAU6yzA8ESwI34aVLWMWw">MD</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_2wm_DOCXpEKjR67mgsr1MQ">20850</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_EhQ6cu3mhUaEN_cn0AsTkw">301</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_LDYNEA5e_0KYYpwBylAsKg">315-0027</dei:LocalPhoneNumber>
    <dei:EntityCurrentReportingStatus
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_FovfR_B_ZU2bOhGWbkz5-g">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_GEC7DcTr2US7nPjqj7_pPQ">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_ERIwJFQ3CUiHA1OLZ36h_Q">Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_fxK-jPStDkOc26mcRj7Ytg">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_SfwBKacee0WTubyAxvstGA">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_jKeDkrDeck-HTu1ykjXBfQ">false</dei:EntityShellCompany>
    <dei:Security12bTitle
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tc_2LXPfOeby0eN0jF8_kFUCA_2_0">Common Stock, $0.15 par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tc_Unr2AjIdTkqKVUmksRtdsg_2_2">AGX</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tc_chvmcywRQkiMUxlQl0GoRQ_2_4">NYSE</dei:SecurityExchangeName>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="As_Of_12_1_2023_xwq3pcoJakWNfviCYwtNLw"
      decimals="INF"
      id="Narr_OnZ7vJZVC0-yFW9_n7o_XQ"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13327866</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_UwDQB8b4zUiHQSRyynooCg_4_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">163755000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_aJVS1k0jlUKeAC1gqW2PdA_4_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">117875000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_NhzAq-t8p0SbvdVkGCd__g_4_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">408779000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_YBjo-gfPdEikQdmlTLBgmA_4_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">336262000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_fkMO6Qe5okqKL1ls153kyw_5_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">144520000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_01wYw1wAxEyW1G0iMxNBfA_5_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">95667000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_upcQKlGlTU61By6tGla-Wg_5_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">351578000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_YE_YEbtZG0qVgehSvhVfIg_5_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">269929000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_Kn5LFJemq0iRSCcIQensFQ_6_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">19235000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_O7Fx8o8arkK0VildHpYw-w_6_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">22208000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_eg_0TajOoEKDBMhVqhndAA_6_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">57201000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_AdP4zjDClkqIanSvshHHmA_6_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">66333000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_ySzx5BjUwE-O98bENlu_kg_7_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">11375000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_W6bnn2a0kE6Zn4gGy8EnFQ_7_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">12667000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_wDL1GhqvBUSKlI6zf1f4hQ_7_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">32467000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_38Kw4bvS_k2HPmNYvRwW9Q_7_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">34226000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_2jTJW64YUEaWwxas4OL56Q_8_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">7860000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_xScxJJxp3EW1Dq9T5S0xpA_8_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">9541000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_aNAUFJHTeUafeDREH3ePsg_8_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">24734000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_OrosC6rVCk-2eghbS8fKwA_8_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">32107000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_qbfCmpo0R0aHZqMM7AmgUg_9_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3733000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_NMnc-kp3-0GYpm8iCH5-OQ_9_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">768000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_83PdsH9YCkCovBfLIUnsAw_9_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">7222000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_F5wqBMfM3EiCXWMreWfn6A_9_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1868000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_2IG2KTxrmEGxcDv4v4npjA_10_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">11593000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_pu4mijWVvkeFLRWEWSd58A_10_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10309000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_2wj3aQHHkEqbsj98noYIsw_10_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">31956000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_Ti5atu5TPU2e-sX_2FEbTg_10_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">33975000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_ZToTKuwVTECYV5SJ1HDBdA_11_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6129000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_H_CQBCDbh0W6u8ReO_eoyg_11_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2551000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_tjH4YNbp60qLmAlKxcvkQg_11_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">11616000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_aOgmUZ55F0iZK0V5GTNaYA_11_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">14510000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_WB-Jyz67qEev2PJdzmKIUQ_12_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">5464000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_fOJfSv7S0UyTSD-KQiA3bQ_12_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">7758000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_3GjzNahYCEalpKQWZQVQoA_12_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">20340000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_UwF5T0ny3ES-SMsvCZN0pQ_12_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">19465000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_tJsSAh6CJUm329WET_ppIQ_13_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-882000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_OFfL9v5e10y-vs96CFVNzQ_13_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-650000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_bVctu_BPqk60MKP4uF632g_13_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-627000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_5U2k11QSQU2GcdGi08_uBw_13_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-2601000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_eCFaj3ngtkWae5iSCCpc4A_14_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-427000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_2qGfGiqo4UOfhlq-PBfpHQ_14_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-1147000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_iKO7mnJn50Gz-hSN4jNfsA_15_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">4155000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_i_wcE7C1nEmX4j-J5vYmKQ_15_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">7108000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_0ArpuWhXUkiTj3I4u5FN6Q_15_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">18566000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_PJNRBZsVK0ir2R-uj_Ym8w_15_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">16864000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="2"
      id="Tc_IvtZpPQnkk6EPXLwrj6PEA_18_3"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.41</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="2"
      id="Tc_EYza8FPfIEiKoMKt-Va2BQ_18_6"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.56</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="2"
      id="Tc_S6HbwEFcwUqueEDzPNh_WA_18_9"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">1.52</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="2"
      id="Tc_rZjKhmwYQkasd8X-3MN1kw_18_12"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">1.36</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="2"
      id="Tc_u9dtXpcBLEmt0IjWRYCLkg_19_3"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.40</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="2"
      id="Tc_d6JrPGs4lEOZMYX5F0sN-w_19_6"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.56</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="2"
      id="Tc_OmHChQXmikm-2WNgCNTO6Q_19_9"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">1.50</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="2"
      id="Tc_LnkoZrA98karpT_UgjNyEQ_19_12"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">1.36</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_Q3adDCxmOk-vEGgTcoY5Mg_22_3"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13328000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_qMDBxF6eI0iWSypBtIeheQ_22_6"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13781000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_M64t3JTCw0qMYnb8B8s_Eg_22_9"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13381000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_aPOaKeIoTUmDzu3IIONioA_22_12"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">14268000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_jzkAK2o6X0G4zOLbGaEqhQ_23_3"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13559000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_LmLau8F_u0Wc97TB19e5Ew_23_6"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13812000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_fp7OsUPD1EWbYX8DqFxrQw_23_9"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13549000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_zfroW_ZyBk62QQx97x_SUA_23_12"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">14350000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="2"
      id="Tc_ZwZzFLKs0kGPQRb-NWjI8w_25_3"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.30</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="2"
      id="Tc_VrlvQUmsVUy5XPR1GAC9SA_25_6"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.25</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="2"
      id="Tc_EoSi2_ZF7EuRQPPSV_tVsg_25_9"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.80</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="2"
      id="Tc_0IPxD4FHEkeFISjBlj9b2Q_25_12"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.75</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_PhjhMOwsAEGvyH8FSUdQAA_6_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">185569000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_tGZSiYlNIkCBo-qRey-9Rw_6_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">173947000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:Investments
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_nsJ_UH1cvEWomj4cMT9VAw_7_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">211946000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_pA5BaWYPLEqmjmWuPr1g8Q_7_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">151511000</us-gaap:Investments>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_D7qC6ejbRk6HzpGFEL4iCg_8_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">49922000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_Y8UIhX5XcEeKbZEJaq5Nhg_8_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">50132000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_lvIZ8t7BJUqu6EXsKy4xPg_9_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">25391000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_EOb6x1iAuUOgeKPTXyIqjA_9_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">24778000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_Gmo78k0Y3Ueib_nxGRO9pA_10_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">41243000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_QVwrRKp8oka6M-5P_4Laaw_10_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">38334000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_hhpiAeZDNEySAUVomSrshA_11_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">514071000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_lwqGhZ_5K0-bpkB6dRDvRA_11_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">438702000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_rbCzOVZcmE2DSEiESMGgzg_12_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10786000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_60kwjiQk60SGH2rMsmkNHA_12_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10430000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Goodwill
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_uHUJ1iBYpkCLg79r_ukDKQ_13_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">28033000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_jnndvKWDsUKs5pAMUVjQiw_13_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">28033000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_XWYq9HhXtkW8jCTS_lOciw_14_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2315000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_F8y-NrWWE0iYNBkT58O9Jg_14_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2609000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_TmaKTt9jlEC4XlG2wBoAew_15_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3132000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_gRIBmxsNZESW2D81TRaRLg_15_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3689000</us-gaap:DeferredIncomeTaxAssetsNet>
    <agx:OperatingLeaseRightOfUseAssetAndOtherAssets
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_RYVU_Nx6MUSE5VyGicsmDg_16_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">5315000</agx:OperatingLeaseRightOfUseAssetAndOtherAssets>
    <agx:OperatingLeaseRightOfUseAssetAndOtherAssets
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_Wa1PMDCUDkWksOrm2p8VKQ_16_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6024000</agx:OperatingLeaseRightOfUseAssetAndOtherAssets>
    <us-gaap:Assets
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_DEN5XbzT1UOrDK8Fld8oVA_17_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">563652000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_aJtwUivuJ0m-vgddUe7kAw_17_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">489487000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_QKr2BriVlE-6a-1xh9Nrxw_21_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">34532000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_Wime32P2dUq4odZSaHk_NA_21_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">56375000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_FfX4-kpehUutufpgJrgmNw_22_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">83193000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_WRZDvEHGXUGz8Hxr_HkSUw_22_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">49867000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_EcMcHf2DjUaUAxCeoe0SHQ_23_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">156169000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_QJ9iCrBPCUqcryG3AsAy4w_23_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">96261000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_rOWGXy_VVkunJFBMdQIP6Q_24_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">273894000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_vavf6cXzaU642fIeioFbqQ_24_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">202503000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_sIgUPnooRkuf27FCspDv-Q_25_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">4925000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_ADXwPdzPL0CjzUAgTDaniw_25_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6087000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_MaWviuGTwE-YePomubIIZA_26_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">278819000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_JRZlH6-pWUmbS0UyN9e_AA_26_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">208590000</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="INF"
      id="Narr_qcNLAuTN-UShSpSxi31O9w"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.10</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="INF"
      id="Narr_UXRMU2sI80u34YD6l1XdEg"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.10</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="INF"
      id="Narr_m00JtY-U0UiDp1VIP5C6kw"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">500000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="INF"
      id="Narr_T40MgT3q_Umugg1Rb5na0g"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">500000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="INF"
      id="Narr_jCFT6xKJJkOTKKw2rT1UHw"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="INF"
      id="Narr_MQqAMlrH7UiMWh51sQj5iw"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="INF"
      id="Narr_AOv6CYBtmkS7DxAkw62Fkw"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.15</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="INF"
      id="Narr_FIeMXG6X0kWSPJEH0xmFZw"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.15</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="INF"
      id="Narr_uBhd2ZyhD0y030aQjssF4g"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">30000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="INF"
      id="Narr_e5wsEA_8XEa6wvZ8Jyektg"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">30000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="INF"
      id="Narr_MiCnBpav_UCEIZfg6bRbwQ"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">15828289</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="INF"
      id="Narr_Tb4QOP8sokuWKyhNyNEyGA"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">15828289</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="INF"
      id="Narr_CwGBeqMkUkepOpcn1wcXpw"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13332747</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="INF"
      id="Narr_WcQI_SN4Tk-B2FthnoN1Ig"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13441590</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_ke3xF_5ggkSGBICe9xisMg_32_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2374000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_c3QznI_RT0ulTeSe5lQB8Q_32_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2374000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_lzPAsApR8k2OAclMNS0I1w_33_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">163154000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_Qn52sMhlJEabiPPrNNQuqg_33_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">162208000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_uRHXSSADpUWt6FtRxIlQ9A_34_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">217486000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_d1x9pXNiOUibJya2jFhqow_34_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">207832000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="INF"
      id="Narr_4eZsp6Hh8kiEtdBop3lKJw"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">2495542</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="INF"
      id="Narr_FcZHKDsVq0u48SpLb2FEjA"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">2386699</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockValue
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_6XrfXT8qOEO3uXP6wcrNmQ_35_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">93531000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_h1GnINanGUG4fuEe9BSVdw_35_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">88641000</us-gaap:TreasuryStockValue>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_fzOqxOC-mEas-Ew9cKeZLw_36_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-4650000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_A0eJ7QRBU0OucKXGGRE4tg_36_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-2876000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_M_o9Zf8PzUaQrw4RlKXdEw_37_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">284833000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_fikfPZYgzEGRF13QbwSTew_37_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">280897000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_CN8V2oXhcUeafsA_10ujaQ_38_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">563652000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_HfYd4QKx-E-mxKahcr8c5Q_38_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">489487000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_1rieYgy7p0iw7fLcp1PRQw"
      decimals="INF"
      id="Tc_WMdrKapX6E2yFcIgwUz0qw_4_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13353653</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_1rieYgy7p0iw7fLcp1PRQw"
      decimals="-3"
      id="Tc_OIuGwvYaKEeWHEaIFqtPng_4_5"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2374000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_9RfXlsf7v0muo5HloLjuJQ"
      decimals="-3"
      id="Tc_P_5aWsFopUOyqz6ShVQpBA_4_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">162323000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_qFyir8uYOU-kZ3aTgQFgcA"
      decimals="-3"
      id="Tc_PG8o90wQt0CzW39TUnP5JA_4_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">216009000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_vJ5knMgynkiv8oWip4CvDQ"
      decimals="-3"
      id="Tc__akJy5fRw06Xb-SZcMmxuw_4_14"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-92329000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_7_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_jl2B1pgEKk-AsAFnhTN28w"
      decimals="-3"
      id="Tc_He1Ag6apG0ajmcp0YpxZ4Q_4_17"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-3341000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_7_31_2023_wl-fNqtJdEyoUfXB2G25LQ"
      decimals="-3"
      id="Tc_YIu9m7cxBkmeJNrcFn286A_4_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">285036000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_wbCCZPSvxkWC_OxdExpgyg"
      decimals="-3"
      id="Tc_arx73RNGJUCdT8P05y-o8A_5_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">5464000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_5wRgJs4PGUaKPE_YPoDDzw_5_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">5464000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax
      contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_DM4hBJK85Uabq0jtOtqYsQ"
      decimals="-3"
      id="Tc_NoCWpagVRUyaSdnPZ8uFgg_6_17"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-882000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_KSt9AyVx602JZy_pYoOYlw_6_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-882000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_DM4hBJK85Uabq0jtOtqYsQ"
      decimals="-3"
      id="Tc_pLU3T8iBg0ehcXlHxAeJfA_7_17"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-427000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_1Q-SUVRQVUOXwcaFcbK5_Q_7_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-427000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_8kWGF2pwP02JxsHVuibzTw"
      decimals="-3"
      id="Tc_1vp_V9p8_kmkCTzfRKvVQg_8_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1198000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_pvs3gdgizUOqW6XgxloYWg_8_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1198000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_aHf7UIyBWUWuDbGCe9gEHg"
      decimals="INF"
      id="Tc_TnoPwhqtYk-aNsLBbTDiUA_9_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">21747</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_8kWGF2pwP02JxsHVuibzTw"
      decimals="-3"
      id="Tc_BakyDezYVESpIVZLQKDeZQ_9_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-367000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_aYX5nFlsDEKic34oPzr_JQ"
      decimals="-3"
      id="Tc_7OLKF9rSe0SJF1RGCB-FmA_9_14"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">527000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_CnSqPyxu6UaBJrDr2r6Prw_9_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">160000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_aHf7UIyBWUWuDbGCe9gEHg"
      decimals="INF"
      id="Tc_LT0fGAlXbEaDJ3oqvuEnsQ_10_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">42653</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_aYX5nFlsDEKic34oPzr_JQ"
      decimals="-3"
      id="Tc_GPKFe_-UcEySDoF0_gtp5A_10_14"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1729000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_WMbc5c4t1USCOmLXgbbF8Q_10_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1729000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_wbCCZPSvxkWC_OxdExpgyg"
      decimals="-3"
      id="Tc_hjE23aSG80Cvs8e-9DXTUg_11_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3987000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_3M9-h6B5JkO0l-uz64Qiag_11_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3987000</us-gaap:DividendsCommonStockCash>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_t4iJcNnERUimZvDBLpfq0g"
      decimals="INF"
      id="Tc_Vpp9VMFg90CIK2S70iZqBQ_12_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13332747</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_t4iJcNnERUimZvDBLpfq0g"
      decimals="-3"
      id="Tc_kyLd1b7YnEGByy-noMdWzA_12_5"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2374000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_aGbh1bV5UkqsEcK4wEug5w"
      decimals="-3"
      id="Tc_id5S474kCUaJVTGdWrr7Dw_12_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">163154000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_5iFVEnJkx0GzuofOu5o79A"
      decimals="-3"
      id="Tc_54nVkdnXvECVaggteVHe5A_12_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">217486000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_QhTsDPL5t0SWTGIxy8Ht6g"
      decimals="-3"
      id="Tc_PEKzKxaAbk-IortYau-xNg_12_14"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-93531000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_531BwNfWbUu4tAuty15tdw"
      decimals="-3"
      id="Tc__9nn1oiSvkSDBkB5PyWOvQ_12_17"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-4650000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_kp_We8TG8U-eYso8sen6wg_12_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">284833000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_OFHmxPc070GZY-KEZeH80g"
      decimals="INF"
      id="Tc_ihWWOrNb-U-iBVfXqOCG9w_14_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13884195</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_OFHmxPc070GZY-KEZeH80g"
      decimals="-3"
      id="Tc_3l_lwXzSy0eWSgLrCcENVg_14_5"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2374000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_7ZNwO8v12kaojq7ftRcJBg"
      decimals="-3"
      id="Tc_vh6ArhOdvUG3bF8jh-HRSw_14_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">160229000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_hlKzzz6jekW8XZtcseTyaw"
      decimals="-3"
      id="Tc_XcRrsbufN0Cb5NCf4fumCw_14_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">193205000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_UzQBSB05RkCpQOemQrkifw"
      decimals="-3"
      id="Tc_NAkGZkmUgka5WAgQnteOlQ_14_14"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-73573000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Xg36O4FdwUeYP_GsDqxyqw"
      decimals="-3"
      id="Tc_zyM0rUIQNkew-bFe-6I_yg_14_17"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-4402000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_7_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_dPAGrK4oo0GoskK-sKNkJA"
      decimals="-3"
      id="Tc_Tlq24QsaVkeBjF-iweLtAg_14_20"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-797000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_7_31_2022_RZh5LLLEkUG-pI2c73VcpA"
      decimals="-3"
      id="Tc_ox6LoZ1kz0OeJrPJ7dTBBg_14_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">277036000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_GzEObMdRFk6TInF9m59IEg"
      decimals="-3"
      id="Tc_BfakYPiRIEmc3CoZnjenwQ_15_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">7758000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc__F6eAAqagkSOmtPCmL4FPA_15_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">7758000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax
      contextRef="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_BOZkbGhTSU66xSVInXn-lA"
      decimals="-3"
      id="Tc_sdn8-CC-KEmwu3we7cLy-A_16_17"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-650000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_HccBPHG62E6lCwXHR7nwiA_16_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-650000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_A_pJS21yz0qtS-xUVQi8Eg"
      decimals="-3"
      id="Tc_sTdnDm1600-KWYZ6-lUoEQ_17_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1076000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc__j93p7UBjUi1exN3RAvqTQ_17_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1076000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_XN9bK6dAkka2r1d5RoS07A"
      decimals="INF"
      id="Tc_Rg0F9hGdWkyX2DAyuDBX3g_18_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">308423</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_HgkAd9W1qk6RZJjm8x8hQA"
      decimals="-3"
      id="Tc_eflBOjZAXEa1XtCeZE0J5g_18_14"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10084000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_TVcAnjpTkEmI_UYufIYsiQ_18_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10084000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_8_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_GzEObMdRFk6TInF9m59IEg"
      decimals="-3"
      id="Tc_FCCRsCZOO0-NeO_FXhsfAw_19_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3396000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_hqFVJhVMk0-oDM-fE1qy3Q_19_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3396000</us-gaap:DividendsCommonStockCash>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nHF-Tvbu1EGfRzcjf3ZqLw"
      decimals="INF"
      id="Tc_M83fe2gqOU2wQm6301w2og_20_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13575772</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nHF-Tvbu1EGfRzcjf3ZqLw"
      decimals="-3"
      id="Tc_aIpsCW4VeUCytOR5vcBMnA_20_5"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2374000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_6gOBTZKko02Ut2etGC5Hrw"
      decimals="-3"
      id="Tc_A9BQSYmVB06bxUfiVjtleA_20_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">161305000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_QfKSuPoU6E6XyK8ASCpcqA"
      decimals="-3"
      id="Tc_Fz9eRddLPEeFomjJRq4xBQ_20_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">197567000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_zOEnqhzLKEmHSGIZBQSRiQ"
      decimals="-3"
      id="Tc_U-hwtPVCkECV_zqpcyf4-Q_20_14"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-83657000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_w6QI7NDGwUy31pw-umbGNg"
      decimals="-3"
      id="Tc_O-vxpqFXC0-nkfr46ME8GQ_20_17"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-5052000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_KG7MHJWDkUyAB4swVjh1-Q"
      decimals="-3"
      id="Tc_ClHMqFzm60-JU7Z1CZM9yw_20_20"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-797000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw"
      decimals="-3"
      id="Tc_sEzkaC23dUi7_ttOk1PLkw_20_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">271740000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_wVsDYo091kefNR8StzQ4GA"
      decimals="INF"
      id="Tc_8nHwq_cDAEeImSTwpBv7ZQ_22_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13441590</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_wVsDYo091kefNR8StzQ4GA"
      decimals="-3"
      id="Tc_k9PSIzV80kSSI6orcl8E2g_22_5"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2374000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_CXZrrzm7gUWTxo-HJttZUw"
      decimals="-3"
      id="Tc_BqrIf--3yEy1whVKqIVDIg_22_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">162208000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_R_YY9W08wU2hasdEbu810Q"
      decimals="-3"
      id="Tc_GYGX8T323Ui6dfpwcnXbUA_22_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">207832000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_bRPCh68zykKMeAIqa8gu3w"
      decimals="-3"
      id="Tc_m9DnpDaDlUWdsX92nthkrQ_22_14"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-88641000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_1_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_AGdXlZfrJEah56jQv88OYA"
      decimals="-3"
      id="Tc_xtbPOy-IIkGPxRtUHPjZLw_22_17"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-2876000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_vMSA829rvU6GKKCZtF39BA_22_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">280897000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_24dXm-Mkg02xeXuBvPiELA"
      decimals="-3"
      id="Tc_Mv-ecA1VrEO9vL0TiepPQQ_23_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">20340000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_DmSLthiuW02oxHAIJDHz_A_23_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">20340000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_6cfMBLpg_k6iZ-tf2YJ9FA"
      decimals="-3"
      id="Tc_u4KVsvrVJECSHOVQLgLZmQ_24_17"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-627000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_JhwcC35RP067ZxuGd8yq2Q_24_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-627000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_6cfMBLpg_k6iZ-tf2YJ9FA"
      decimals="-3"
      id="Tc_IcFbceBo9Eyq3R9mibE22A_25_17"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-1147000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_5YqGE29rtU-FQM1RoCvnOQ_25_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-1147000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_diLB4mMMqU2D0ghsnddx2A"
      decimals="-3"
      id="Tc_USks3_9U90GON5qADc8vqg_26_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3416000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_kVgVPMqXgUSdrWZ7Q8W3yw_26_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3416000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_BE3g4AKCT0icD4KhcQCv3g"
      decimals="INF"
      id="Tc_x9c2_SCP6ky3G98ZbVshQg_27_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">103598</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_diLB4mMMqU2D0ghsnddx2A"
      decimals="-3"
      id="Tc_MRqTHhSGsEe9VMR3QuqnnA_27_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-2470000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_R97tOVX3DE2ZjYeZb7gVdg"
      decimals="-3"
      id="Tc_DNVv84gzokCsH-y0AYkZgw_27_14"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3577000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_XqUuCgr1REadbXQUEc9eAQ_27_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1107000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_BE3g4AKCT0icD4KhcQCv3g"
      decimals="INF"
      id="Tc_dGhWpltZsEu9kEjwIZes3Q_28_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">212441</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_R97tOVX3DE2ZjYeZb7gVdg"
      decimals="-3"
      id="Tc_cghDO_MHaEeHXR2EXenqww_28_14"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">8467000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_eF1DOgrggU-5Ib18Y-nVQw_28_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">8467000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_24dXm-Mkg02xeXuBvPiELA"
      decimals="-3"
      id="Tc_Ind9f25K30SO4cWmQG5d2g_29_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10686000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_7YvGIPC0dkCL5AZq9wEAmQ_29_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10686000</us-gaap:DividendsCommonStockCash>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_t4iJcNnERUimZvDBLpfq0g"
      decimals="INF"
      id="Tc_ZGKlNwElEkGVoS5JnRiIrA_30_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13332747</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_t4iJcNnERUimZvDBLpfq0g"
      decimals="-3"
      id="Tc_z4rRY2fQA0ac-nwywjGihA_30_5"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2374000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_aGbh1bV5UkqsEcK4wEug5w"
      decimals="-3"
      id="Tc_EZG8CJcvIUiXO21AjtcKGw_30_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">163154000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_5iFVEnJkx0GzuofOu5o79A"
      decimals="-3"
      id="Tc_obOmkWQ-g06dDwDbS6mqPw_30_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">217486000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_QhTsDPL5t0SWTGIxy8Ht6g"
      decimals="-3"
      id="Tc_h4nDNl4o60eArBSz8Q1EPQ_30_14"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-93531000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_531BwNfWbUu4tAuty15tdw"
      decimals="-3"
      id="Tc_KuiRn8SfO06qF6OlLY4_Gg_30_17"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-4650000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_gzkTnw-WT0Gi_yEPcexkGw_30_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">284833000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cULSIC17AkCREkFgFtRGCQ"
      decimals="INF"
      id="Tc_6sWvMN-YGUmYt4o2odk3Cg_32_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">15257688</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cULSIC17AkCREkFgFtRGCQ"
      decimals="-3"
      id="Tc_evnh2KqJmkapmbEZAXWiCA_32_5"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2368000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_fQ78v0oJMEKfDSnep2hWpA"
      decimals="-3"
      id="Tc_BKmqA2ox9EmFkjGbMgjNiQ_32_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">158190000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_aRTlo58Ugkq6dFtmXgzEZQ"
      decimals="-3"
      id="Tc_L5mRuqG1kUGVWMMs0C3xFw_32_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">188690000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_43CEeQDn9kynfTIsOlHFvQ"
      decimals="-3"
      id="Tc_0WdxRuKT7U-LRSPT3HukDA_32_14"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-20405000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_t2rXN_gRN0-7ich39duFsg"
      decimals="-3"
      id="Tc__RwpZyA6zUaj9AXiqqU2sw_32_17"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-2451000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_VxbfDfgo6kGGriKZ9jbB7w"
      decimals="-3"
      id="Tc_4-x81pfBFUWUX3vdQahyLQ_32_20"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-797000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_1_31_2022_0L1krGcOzUK7J45Ax31K4Q"
      decimals="-3"
      id="Tc_JNwo6A6DC0SgyGppaLtIhA_32_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">325595000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_eenrnne7iUOizX1g7Hhw9g"
      decimals="-3"
      id="Tc_0Veyl6IKkkWrOmkHTvauBg_33_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">19465000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_WDnd8isLXUCB97PREc0OGQ_33_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">19465000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax
      contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Zy415mdycka3Tzzrd9ZXXQ"
      decimals="-3"
      id="Tc_1EWRRoBhCEWEgkjiXp9HrQ_34_17"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-2601000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_nwrLudGYQEOsibOQQbKNfg_34_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-2601000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_7i4DcXVx0U2Y0RWJKzRFLQ"
      decimals="-3"
      id="Tc_AGihegY7XU2o4d706gGwLg_35_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3055000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_0oZPXgWIG0mgkgNIPJJyoA_35_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3055000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_PBr3LQocCU6WC4gEpDjsUg"
      decimals="INF"
      id="Tc__Pv4KXMIAUKr5T1QniFEnA_36_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">39099</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_PBr3LQocCU6WC4gEpDjsUg"
      decimals="-3"
      id="Tc_AVsUS2aOTkGVsMACtyigFA_36_5"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_7i4DcXVx0U2Y0RWJKzRFLQ"
      decimals="-3"
      id="Tc_MSWkQeP5fUmsH67A9PLgAA_36_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">60000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_Am35CDLBukm8IO37M6hOeQ_36_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">66000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_PBr3LQocCU6WC4gEpDjsUg"
      decimals="INF"
      id="Tc_Ip3_vPrwskCgXNbDKcLrRw_37_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">1721015</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_nNK_0ERsZU63dbCyeQxvow"
      decimals="-3"
      id="Tc_NiFo3YX5eUK49VAg9_I-5A_37_14"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">63252000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_PfOW7Ml64Ea8gjSy8zOf8w_37_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">63252000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_eenrnne7iUOizX1g7Hhw9g"
      decimals="-3"
      id="Tc_YXy0jVcDckit5Lpikj35SQ_38_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10588000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_Ybw8QQ8tf0-PPuayNr575w_38_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10588000</us-gaap:DividendsCommonStockCash>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nHF-Tvbu1EGfRzcjf3ZqLw"
      decimals="INF"
      id="Tc_nLfDPUke90eAdwuHa9Bv2w_39_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13575772</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nHF-Tvbu1EGfRzcjf3ZqLw"
      decimals="-3"
      id="Tc_JdBiZ0mxAkG1qbuIHByOAA_39_5"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2374000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_6gOBTZKko02Ut2etGC5Hrw"
      decimals="-3"
      id="Tc_O0PV4KG7AkS1dmdSR413SQ_39_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">161305000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_QfKSuPoU6E6XyK8ASCpcqA"
      decimals="-3"
      id="Tc_Xt9QYZuQvE-ntG4n05pwKg_39_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">197567000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_zOEnqhzLKEmHSGIZBQSRiQ"
      decimals="-3"
      id="Tc_AAw6GD6Lkk6m29XHUWqXMQ_39_14"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-83657000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_w6QI7NDGwUy31pw-umbGNg"
      decimals="-3"
      id="Tc_29CFFa1yBEqy5pFMjLfmow_39_17"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-5052000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_KG7MHJWDkUyAB4swVjh1-Q"
      decimals="-3"
      id="Tc_E_ZmAwLAnEC7JyLStVhH8w_39_20"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-797000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw"
      decimals="-3"
      id="Tc_xtsCi8-HlUeErIfPapSsrw_39_23"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">271740000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_ZbaH8W9pPE6SRgKEegdYlg_4_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">20340000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_ME5cuihKCU2Pvtj7ZK3igg_4_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">19465000</us-gaap:ProfitLoss>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_VAmXaILDAkaLlfuK_EYcQQ_6_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3416000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_6sUIBWD79Uyx6DG-iEERsg_6_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3055000</us-gaap:ShareBasedCompensation>
    <us-gaap:IncreaseDecreaseInAccruedInterestReceivableNet
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_pjPLqt36BE6Mzy30XS6nlA_7_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1876000</us-gaap:IncreaseDecreaseInAccruedInterestReceivableNet>
    <us-gaap:IncreaseDecreaseInAccruedInterestReceivableNet
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_xNwNsuGEA0i5LVkK3o382w_7_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">790000</us-gaap:IncreaseDecreaseInAccruedInterestReceivableNet>
    <us-gaap:Depreciation
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_qObS6xJ26EuYwEX4HHEWtA_8_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1524000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_9McExGvb5EGQqPFcA6K_CQ_8_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2296000</us-gaap:Depreciation>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_--nzUbpWp0SYeVIoJ1mZpw_9_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1335000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_t2EkmV87UU6C8NmLEjd2zA_9_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1871000</us-gaap:OperatingLeaseExpense>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_FySknw6K402nY2sTlIcocQ_10_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">497000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_rfUmN7cXnkC6685ia70uIA_10_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-209000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_nBEi4LxHJkCAfCJe1f77Pg_11_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">294000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_NTyx16omhEydMULu0rbZPA_11_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">611000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_-BM6VKAzaUyW169DziTLYw_12_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-130000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_lIbbiqByNkGj_l2Vn7unqQ_12_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1112000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_Z5qYNZX6f0yFlBsBbND8Yw_13_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-157000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_B96zAes72EyCZQInhJisEQ_13_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-20000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_Xv2EX1yqdk2stuBdAwxRNw_15_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-168000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_kOAbsF_np0WwcYuwLTTvzA_15_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10921000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_36INQydcLE6Q3JH6_IR0dA_16_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">613000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_X6WGkrFsc0GUavtRcfAF2Q_16_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6647000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_TCJ6fb1rCkmBB7tNtAdx6Q_17_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2977000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_NyzgQfnP7ECjMZ3NWNXkNQ_17_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-6184000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_fEgIK6rDMESf1FbzCeOrcA_18_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">9960000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_floDJIenq0eBhJRh-uUtZw_18_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-7952000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_X6_ue8jl4k2tylk0j9KBvg_19_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">59908000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_m3kHqcUIvU2UKIN35fs28A_19_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-78859000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_o33l4CKnl0O59cYCxnC2iw_20_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">92263000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_wMdaKoqopUSuFPYIthzNTw_20_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-72988000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireHeldToMaturitySecurities
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_7m3RgdLUj0mi8G-fh2u_7A_23_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">115000000</us-gaap:PaymentsToAcquireHeldToMaturitySecurities>
    <us-gaap:PaymentsToAcquireHeldToMaturitySecurities
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_GuGbq7NEh0GAqz6Y3IG74g_23_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">249750000</us-gaap:PaymentsToAcquireHeldToMaturitySecurities>
    <us-gaap:ProceedsFromSaleOfHeldToMaturitySecurities
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_8tgt-31VgEuIpUK7gBrALQ_24_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">159750000</us-gaap:ProceedsFromSaleOfHeldToMaturitySecurities>
    <us-gaap:ProceedsFromSaleOfHeldToMaturitySecurities
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_7jPTRhVYS06eDyweRR1uLw_24_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">190000000</us-gaap:ProceedsFromSaleOfHeldToMaturitySecurities>
    <us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_WyUpmftI7ESlRqs5yQTiuw_25_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">104492000</us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_ZsvOmXdJxUSqXnV7yGZoog_26_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2143000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_UuxD5GI4FkyUikChNn41ug_26_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2582000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_iPF6LrIBPk6UTWb72-Dbmw_27_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-61885000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_tvwOflw_o0iFhHeeJ5OZvQ_27_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-62332000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_6T2O-oLK30iOaejINFenFg_30_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">8467000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_1Dq8n-F-FUm93iLRw_naMA_30_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">63252000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_rOBR9VA2c0e58BESPgCDjw_31_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10686000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_3ZiOPXBoNUiEncaSs-BIrw_31_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10588000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_7nbacxBpKE6N29nBSZe_8Q_32_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1107000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_HZP6ryJkJUa6K7wWyvCOSQ_32_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">66000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_7AKFcEQVCk-y_iskcOU-Rg_33_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-18046000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_xHx8P6PEKEyWyIxW5g9hkQ_33_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-73774000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_XmIV52xSP0K7kzli15r3NQ_35_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-710000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_Hbx6ImXe_E-2FxZ3jwVy7Q_35_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-5313000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_YflXWaAJcUiVEUAuFTr-mw_36_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">11622000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_xHt13h-Fq0OWdcLIsbPyig_36_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-214407000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_849oZ_xztkqoeK3vNsgAHw_37_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">173947000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_1_31_2022_0L1krGcOzUK7J45Ax31K4Q"
      decimals="-3"
      id="Tc_xKlzl_PkFkmpmvW7WEHxyA_37_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">350472000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_3ZjWEuRVGkSlofvZk7c5qQ_38_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">185569000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw"
      decimals="-3"
      id="Tc_2qsSG41j20CZk3i0VMuUGA_38_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">136065000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc__kD72uVWzkuVpPJrQkLd2g_41_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">706000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_EtS7UNZt5kiRESoUXRlphg_41_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">935000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:IncomeTaxesPaid
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_X6z8hUBAh023ZlcTngsQxQ_43_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">7022000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc__gS7IovWIUGLvBZJgZs84A_43_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6310000</us-gaap:IncomeTaxesPaid>
    <agx:OperatingLeasesPaid
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_2icq6UG9-0S-x6-L-lvU2w_44_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1340000</agx:OperatingLeasesPaid>
    <agx:OperatingLeasesPaid
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_GnqWrhzcZ0a5txt8ZyC4wA_44_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1869000</agx:OperatingLeasesPaid>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_8rrSqzAbAEKwQgo6B7KX_w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;NOTE 1 &#x2013; DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Description of the Business&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;Argan, Inc. (&#x201c;Argan&#x201d;) conducts operations through its wholly-owned subsidiaries, Gemma Power Systems, LLC and affiliates (&#x201c;GPS&#x201d;); The Roberts Company, Inc. (&#x201c;TRC&#x201d;); Atlantic Projects Company Limited and affiliates (&#x201c;APC&#x201d;) and Southern Maryland Cable, Inc. (&#x201c;SMC&#x201d;). Argan and these consolidated subsidiaries are hereinafter collectively referred to as the &#x201c;Company.&#x201d; &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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 customers include 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 &#x201c;U.S.&#x201d;), the Republic of Ireland (&#x201c;Ireland&#x201d;) and the United Kingdom (the &#x201c;U.K.&#x201d;). GPS and APC represent the Company&#x2019;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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Basis of Presentation and Significant Accounting Policies&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The condensed consolidated financial statements include the accounts of Argan, its wholly-owned subsidiaries and a variable interest entity (&#x201c;VIE&#x201d;) 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&#x2019;s financial reporting for purposes of making internal operating decisions. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The Company&#x2019;s fiscal year ends on January 31 each year. The condensed consolidated balance sheet as of October 31, 2023, the condensed consolidated statements of earnings and stockholders&#x2019; equity for the three and nine months ended October 31, 2023 and 2022, and the condensed consolidated statements of cash flows for the nine months ended October 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 &#x201c;SEC&#x201d;). 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 (&#x201c;U.S. GAAP&#x201d;) 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&#x2019;s report thereon, that are included in the Company&#x2019;s Annual Report on Form 10-K for the fiscal year ended January 31, 2023 (&#x201c;Fiscal 2023&#x201d;).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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 October 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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Recently Issued Accounting Pronouncements&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;In March 2023, the Financial Accounting Standards Board (the &#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) 2023-02, &lt;i style="font-style:italic;"&gt;Investments&#x2014;Equity Method and Joint Ventures (Topic 323): Accounting for Investments in Tax Credit Structures Using the Proportional Amortization Method &lt;/i&gt;(&#x201c;ASU 2023-02&#x201d;), 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&#x2019;s investments in energy tax credit structures entered into prior to Fiscal 2023 do not qualify for the proportional amortization method allowed under this guidance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;In November 2023, the FASB issued ASU 2023-07, &lt;i style="font-style:italic;"&gt;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures&lt;/i&gt; introducing key amendments to enhance disclosures in public entities&#x2019; reportable segments. Notable changes include the mandatory disclosure of significant segment expenses regularly provided to the chief operating decision maker (&#x201c;CODM&#x201d;), disclosure of other segment items, and requirements for consistency in reporting measures used by the CODM. The amendments in this update are effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the effects, if any, that the adoption of ASU 2023-07 may have on its financial position, results of operations, cash flows, or disclosures.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Available-For-Sale Securities&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;At each balance sheet date, available-for-sale (&#x201c;AFS&#x201d;) securities are stated at fair value, as presented below, 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, and realized gains and losses are included in other income or expense, as applicable, in the Company&#x2019;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 (&#x201c;ASC&#x201d;) 210-10-45-1 and ASC 210-10-45-2. The classification of the AFS securities is reevaluated at each balance sheet date.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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 that the Company would be required to sell the AFS security before recovery, impairment is recognized in earnings with a corresponding adjustment to the security&#x2019;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. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Fair Values&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;ASC Topic 820&lt;i style="font-style:italic;"&gt;, Fair Value Measurement&lt;/i&gt;, 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:&lt;/p&gt;&lt;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;"&gt;Level 1 &#x2013; Inputs are unadjusted quoted prices in active markets for identical assets or liabilities.&lt;/p&gt;&lt;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;"&gt;Level 2 &#x2013; 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.&lt;/p&gt;&lt;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;"&gt;Level 3 &#x2013; Inputs are unobservable inputs based on a company&#x2019;s own assumptions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The following table shows the Company&#x2019;s financial instruments as of October 31, 2023 and January 31, 2023 that are measured and recorded at fair value on a recurring basis:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:87.88%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;January&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 1&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 2&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 3&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 1&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 2&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 3&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Cash equivalents:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Money market fund&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 127,022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,647&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Available-for-sale securities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;U.S. Treasury notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,700&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;U.S. corporate debt security&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,217&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 127,022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 103,917&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,647&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"&gt;The carrying value amounts presented in the condensed consolidated balance sheets for the Company&#x2019;s other current assets, including cash, certificates of deposit (&#x201c;CDs&#x201d;), 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&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Treasury Stock&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;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 shares of treasury stock provided for settlements or sold at a price higher than its cost, the gain is recorded to additional paid-in capital. For shares of 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 the account. Any losses in excess of that amount are recorded to retained earnings. &lt;/p&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_EVqEreqie0aGFOBLXuYBnQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Description of the Business&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;Argan, Inc. (&#x201c;Argan&#x201d;) conducts operations through its wholly-owned subsidiaries, Gemma Power Systems, LLC and affiliates (&#x201c;GPS&#x201d;); The Roberts Company, Inc. (&#x201c;TRC&#x201d;); Atlantic Projects Company Limited and affiliates (&#x201c;APC&#x201d;) and Southern Maryland Cable, Inc. (&#x201c;SMC&#x201d;). Argan and these consolidated subsidiaries are hereinafter collectively referred to as the &#x201c;Company.&#x201d; &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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 customers include 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 &#x201c;U.S.&#x201d;), the Republic of Ireland (&#x201c;Ireland&#x201d;) and the United Kingdom (the &#x201c;U.K.&#x201d;). GPS and APC represent the Company&#x2019;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.&lt;/p&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_lFWB56rAjU6qWM7jQr3GlQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Basis of Presentation and Significant Accounting Policies&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The condensed consolidated financial statements include the accounts of Argan, its wholly-owned subsidiaries and a variable interest entity (&#x201c;VIE&#x201d;) 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&#x2019;s financial reporting for purposes of making internal operating decisions. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The Company&#x2019;s fiscal year ends on January 31 each year. The condensed consolidated balance sheet as of October 31, 2023, the condensed consolidated statements of earnings and stockholders&#x2019; equity for the three and nine months ended October 31, 2023 and 2022, and the condensed consolidated statements of cash flows for the nine months ended October 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 &#x201c;SEC&#x201d;). 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 (&#x201c;U.S. GAAP&#x201d;) 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&#x2019;s report thereon, that are included in the Company&#x2019;s Annual Report on Form 10-K for the fiscal year ended January 31, 2023 (&#x201c;Fiscal 2023&#x201d;).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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 October 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.&lt;/p&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_K7dWHqzjB02lO9Q-5hEIsg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Recently Issued Accounting Pronouncements&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;In March 2023, the Financial Accounting Standards Board (the &#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) 2023-02, &lt;i style="font-style:italic;"&gt;Investments&#x2014;Equity Method and Joint Ventures (Topic 323): Accounting for Investments in Tax Credit Structures Using the Proportional Amortization Method &lt;/i&gt;(&#x201c;ASU 2023-02&#x201d;), 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&#x2019;s investments in energy tax credit structures entered into prior to Fiscal 2023 do not qualify for the proportional amortization method allowed under this guidance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;In November 2023, the FASB issued ASU 2023-07, &lt;i style="font-style:italic;"&gt;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures&lt;/i&gt; introducing key amendments to enhance disclosures in public entities&#x2019; reportable segments. Notable changes include the mandatory disclosure of significant segment expenses regularly provided to the chief operating decision maker (&#x201c;CODM&#x201d;), disclosure of other segment items, and requirements for consistency in reporting measures used by the CODM. The amendments in this update are effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the effects, if any, that the adoption of ASU 2023-07 may have on its financial position, results of operations, cash flows, or disclosures.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <agx:AvailableForSaleSecuritiesPolicyTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_HVI4NQiyYk-70ie3Zf2HgQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Available-For-Sale Securities&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;At each balance sheet date, available-for-sale (&#x201c;AFS&#x201d;) securities are stated at fair value, as presented below, 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, and realized gains and losses are included in other income or expense, as applicable, in the Company&#x2019;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 (&#x201c;ASC&#x201d;) 210-10-45-1 and ASC 210-10-45-2. The classification of the AFS securities is reevaluated at each balance sheet date.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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 that the Company would be required to sell the AFS security before recovery, impairment is recognized in earnings with a corresponding adjustment to the security&#x2019;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. &lt;/p&gt;</agx:AvailableForSaleSecuritiesPolicyTextBlock>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_6M37ZMZn4kChE9THNUHbfQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Fair Values&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;ASC Topic 820&lt;i style="font-style:italic;"&gt;, Fair Value Measurement&lt;/i&gt;, 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:&lt;/p&gt;&lt;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;"&gt;Level 1 &#x2013; Inputs are unadjusted quoted prices in active markets for identical assets or liabilities.&lt;/p&gt;&lt;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;"&gt;Level 2 &#x2013; 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.&lt;/p&gt;&lt;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;"&gt;Level 3 &#x2013; Inputs are unobservable inputs based on a company&#x2019;s own assumptions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The following table shows the Company&#x2019;s financial instruments as of October 31, 2023 and January 31, 2023 that are measured and recorded at fair value on a recurring basis:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:87.88%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;January&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 1&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 2&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 3&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 1&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 2&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 3&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Cash equivalents:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Money market fund&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 127,022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,647&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Available-for-sale securities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;U.S. Treasury notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,700&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;U.S. corporate debt security&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,217&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 127,022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 103,917&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,647&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"&gt;The carrying value amounts presented in the condensed consolidated balance sheets for the Company&#x2019;s other current assets, including cash, certificates of deposit (&#x201c;CDs&#x201d;), 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&lt;/p&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_WZa-lDM3pU-ri8JebJgS8w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:87.88%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;January&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 1&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 2&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 3&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 1&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 2&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Level 3&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Cash equivalents:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Money market fund&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 127,022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,647&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Available-for-sale securities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;U.S. Treasury notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,700&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;U.S. corporate debt security&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,217&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:29.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 127,022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 103,917&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,647&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_MoneyMarketFundsMember_N2vYUWT7yUOBs7l345GqUA"
      decimals="-3"
      id="Tc_O_5GgShx6EOH1ZrzhL1v1g_5_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">127022000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="As_Of_1_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_MoneyMarketFundsMember_1xj-kM2W-kyCGBZzyvK1kA"
      decimals="-3"
      id="Tc_5pYpkNv4fEqL4VJ-GYW_dA_5_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">68647000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_cJkE9UEetkadiXKJWJVOyQ"
      decimals="-3"
      id="Tc_5gj6cha8FkCkyvwjqfyRow_7_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">94700000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_DomesticCorporateDebtSecuritiesMember_PFbvV6whs0izkW7oLuWsag"
      decimals="-3"
      id="Tc_Mmvtcwwig0Kk8VcRwHVhbA_8_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">9217000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_ipRTsEGczUKt6yz_oAs3sA"
      decimals="-3"
      id="Tc_xqvNmTEgB0i9PgDUyziqcA_9_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">127022000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_lpGpOBowe0mPsFRsucdSAg"
      decimals="-3"
      id="Tc_EoXGeUpA8kyQPKUNsw0bYw_9_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">103917000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="As_Of_1_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_467ma05pu0yUZKnF0WQYKA"
      decimals="-3"
      id="Tc_m-Z5ojnsXkWk7KcJAvQlRA_9_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">68647000</us-gaap:AssetsFairValueDisclosure>
    <agx:TreasuryStockPolicyTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_gEeYj0FkWkSk4dO4XO1RJw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Treasury Stock&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;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 shares of treasury stock provided for settlements or sold at a price higher than its cost, the gain is recorded to additional paid-in capital. For shares of 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 the account. Any losses in excess of that amount are recorded to retained earnings. &lt;/p&gt;</agx:TreasuryStockPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_Don0Cc60ikKNfJV4qrcPNQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;NOTE 2 &#x2013; REVENUES FROM CONTRACTS WITH CUSTOMERS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The Company&#x2019;s accounting for revenues on contracts with customers is based on a single comprehensive five-step model that requires reporting entities to:&lt;/p&gt;&lt;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;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;1.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Identify the contract,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;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;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;2.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Identify the performance obligations of the contract,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;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;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;3.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Determine the transaction price of the contract,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;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;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;4.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Allocate the transaction price to the performance obligations, and&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;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;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;5.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Recognize revenue.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:8pt;"&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The Company focuses on the transfer of the contractor&#x2019;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&#x2019;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. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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. For a project being performed by APC to construct a gas-fired power facility in Northern Ireland, an estimated loss at completion of approximately $7.9 million was recognized during the quarter ended October 31, 2023. Accordingly, APC recorded a loss during the three-month period ended October 31, 2023, in the amount of approximately $10.7 million, which includes an unfavorable adjustment of estimated gross profit of approximately $2.8 million recorded in previous periods. For the nine-month period ended October 31, 2023, the recorded loss related to the contract is $11.5 million, which includes an unfavorable adjustment of estimated gross profit recorded in the prior year in the amount of approximately $3.6 million. This project is expected to be completed by APC early next year. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;Predominantly all of the Company&#x2019;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&#x2019;s contracts with customers are assurance-type primarily and are recorded as the corresponding contract work is performed. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The Company&#x2019;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&#x2019;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 three and nine months ended October 31, 2023 and 2022, there were no significant unusual or one-time adjustments to contract liabilities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The balances of the Company&#x2019;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 nine months ended October 31, 2023 and 2022, that were included in the balances of contract liabilities as of January 31, 2023 and 2022, respectively, were approximately $94.2 million and $127.6 million, respectively. The amounts of revenues recognized during the three months ended October 31, 2023 and 2022 that were included in the balances of contract liabilities as of July 31, 2023 and 2022, respectively, were approximately $53.8 million and $48.7 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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 October 31, 2023 and January 31, 2023 were $19.2 million and $49.1 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Variable Consideration&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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&#x2019;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 October 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 $6.7 million and $11.6 million, respectively. Variations related to the Company&#x2019;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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The Company&#x2019;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&#x2019;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. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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&#x2019;s activities and progress are adversely affected by delayed or damaged materials, challenges with equipment performance or other events out of the Company&#x2019;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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Remaining Unsatisfied Performance Obligations (&#x201c;RUPO&#x201d;)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;Substantially all of the Company&#x2019;s customer contracts include the right for customers to terminate contracts for convenience. The value of future work that 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. These types of arrangements do not qualify as RUPO. Predominantly, the Company&#x2019;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. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;At October 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 (&#x201c;EPC&#x201d;) 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 21% of the RUPO amount at October 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 (&#x201c;Fiscal 2024&#x201d;). Most of the remaining amount of the RUPO amount at October 31, 2023 is expected to be recognized in revenues during the fiscal years ending January 31, 2025 and January 31, 2026. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;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 October 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 &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;to revise estimates, as effects become known. Such adjustments to RUPO may materially reduce future revenues below Company estimates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Disaggregation of Revenues&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The following table presents consolidated revenues for the three and nine months ended October 31, 2023 and 2022, disaggregated by the geographic area where the corresponding projects were located:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:85.55%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:26.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended October&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Nine Months Ended October&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 92,066&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 81,810&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 239,866&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 256,031&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Republic of Ireland&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,359&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,833&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 139,014&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,019&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,330&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,232&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,899&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,212&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Consolidated Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 163,755&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,875&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 408,779&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 336,262&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 0pt 0pt;"&gt;The major portions of the Company&#x2019;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.&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <agx:EstimatedLoss
      contextRef="Duration_8_1_2023_To_10_31_2023_dei_LegalEntityAxis_agx_AtlanticProjectsCompanyLimitedMember_srt_ProductOrServiceAxis_agx_KilrootProjectMember_4JFEAsBveUK8evsJo9TzLA"
      decimals="-5"
      id="Narr_a3rbQ27BOUyo52JpwlgVqA"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">7900000</agx:EstimatedLoss>
    <agx:EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears
      contextRef="Duration_8_1_2023_To_10_31_2023_dei_LegalEntityAxis_agx_AtlanticProjectsCompanyLimitedMember_srt_ProductOrServiceAxis_agx_KilrootProjectMember_4JFEAsBveUK8evsJo9TzLA"
      decimals="-5"
      id="Narr_Zkk61zpue02dovqQpdhzHw"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10700000</agx:EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears>
    <agx:ReversalOfProfitLossRecordedInPriorPeriods
      contextRef="Duration_8_1_2023_To_10_31_2023_dei_LegalEntityAxis_agx_AtlanticProjectsCompanyLimitedMember_srt_ProductOrServiceAxis_agx_KilrootProjectMember_4JFEAsBveUK8evsJo9TzLA"
      decimals="-5"
      id="Narr_qYuipkmh60urc-kpfVTRSg"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2800000</agx:ReversalOfProfitLossRecordedInPriorPeriods>
    <agx:EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears
      contextRef="Duration_2_1_2023_To_10_31_2023_dei_LegalEntityAxis_agx_AtlanticProjectsCompanyLimitedMember_srt_ProductOrServiceAxis_agx_KilrootProjectMember_HDUER1KQ1EiAeqUqsbpE0g"
      decimals="-5"
      id="Narr_xnHphUKk-U-wGwYhn_cxuw"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">11500000</agx:EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears>
    <agx:ReversalOfProfitLossRecordedInPriorPeriods
      contextRef="Duration_2_1_2023_To_10_31_2023_dei_LegalEntityAxis_agx_AtlanticProjectsCompanyLimitedMember_srt_ProductOrServiceAxis_agx_KilrootProjectMember_HDUER1KQ1EiAeqUqsbpE0g"
      decimals="-5"
      id="Narr_y8PQUd-Y2UCifotkh3ZL_Q"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3600000</agx:ReversalOfProfitLossRecordedInPriorPeriods>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-5"
      id="Narr_AEOVbH4HKEOJ5QQvsn3RHg"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">94200000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-5"
      id="Narr_v4Ym8px2x0KTyM_EAZHJoQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">127600000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-5"
      id="Narr_iSicXtpaxUy26Wauy88Dhw"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">53800000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-5"
      id="Narr_2YnJ6UZJ_kuBFKxJ4wZLiA"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">48700000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <agx:RetainedAmountUnderConstructionContracts
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-5"
      id="Narr_jB1B_j7AF0mQReWHFAcgzA"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">19200000</agx:RetainedAmountUnderConstructionContracts>
    <agx:RetainedAmountUnderConstructionContracts
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-5"
      id="Narr_kkFtkyGTPUO5D0BfewSHFw"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">49100000</agx:RetainedAmountUnderConstructionContracts>
    <agx:NPricedChangeOrdersIncludedInTransactionPrices
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-5"
      id="Narr_QZnLtN60ekmEZAEK5ZUGXQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6700000</agx:NPricedChangeOrdersIncludedInTransactionPrices>
    <agx:NPricedChangeOrdersIncludedInTransactionPrices
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-5"
      id="Narr_Hfehyk8bTUaXRFxjVVvy0Q"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">11600000</agx:NPricedChangeOrdersIncludedInTransactionPrices>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="As_Of_10_31_2023_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_agx_cnst_date_20231101_f0dFuGrR1EWi8R0HXFKP2A"
      decimals="-8"
      id="Narr_YrPYi9lSmUefCYZclEmjMw"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">700000000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="As_Of_10_31_2023_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_agx_cnst_date_20231101_f0dFuGrR1EWi8R0HXFKP2A"
      id="Narr_6SzmLkVHWU2GCmg1H2AO6Q">P3Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="As_Of_10_31_2023_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_agx_cnst_date_20231101_f0dFuGrR1EWi8R0HXFKP2A"
      decimals="2"
      id="Narr_Iu35WLfbNkqdEX8DWpi5KQ"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.21</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_WUqq3XeefUqlpW3kBmkcFA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:85.55%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:26.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended October&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Nine Months Ended October&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 92,066&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 81,810&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 239,866&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 256,031&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Republic of Ireland&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,359&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,833&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 139,014&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,019&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,330&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,232&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.13%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,899&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,212&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Consolidated Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 163,755&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,875&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 408,779&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 336,262&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_US_JM0zl5FnBEi9X8k6zzP9dw"
      decimals="-3"
      id="Tc_T2-iYTSJIUGKCY7455j0rA_3_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">92066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_US_Jy0x8AOi5EeHztHQfrachQ"
      decimals="-3"
      id="Tc_MRcWYL-7iU2lFeh7Ft_2QA_3_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">81810000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_US_Lg3OB5LTFkKvZTY_syzI0Q"
      decimals="-3"
      id="Tc_wmQZdWn9Jkyk-WAOqpSmSw_3_10"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">239866000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_US_fp92KtoXAEmdLGBx0kF9iw"
      decimals="-3"
      id="Tc_eHx0aPX2IEq1_GsZ7eLuAw_3_13"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">256031000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_IE_xieRSBauK02EwwzpwPmtWw"
      decimals="-3"
      id="Tc_8x-MCTYKw0eisaqoc8tQzQ_4_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">68359000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_IE_kqPcWlDgtU20eUhhIXiAag"
      decimals="-3"
      id="Tc_iq6MEP9_lkS8i7HOSl8vSA_4_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">21833000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_IE_qQplgu3MBU-s796Wqo4PoQ"
      decimals="-3"
      id="Tc_uTcm78_NQE67FWtE6uCAIA_4_10"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">139014000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_IE_JWa78aVVikSfpr7XPPFPBA"
      decimals="-3"
      id="Tc_jSj6uerrO024Lp0kzkX_9g_4_13"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">47019000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_GB_OdAfCNas7keHP5KsiWR5kQ"
      decimals="-3"
      id="Tc_ByflsqIlQkWSlCDuxDh7Gg_5_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3330000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_GB_adAO0Qpb00e5py96y3qITA"
      decimals="-3"
      id="Tc_QSav0yHAA0m-_5Ee-JWl7A_5_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">14232000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_GB_XOkIYnM2c0CuFGGfLPrn8g"
      decimals="-3"
      id="Tc_-pS2T8T9GUeFv24uvO9-ew_5_10"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">29899000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_StatementGeographicalAxis_country_GB_dquM4aXBwEOb5ybWMRMWxA"
      decimals="-3"
      id="Tc_qKuMuAX8zkW9WkgxvxR8aA_5_13"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">33212000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_HPnwUGbi1kuHG3KQGApGsQ_6_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">163755000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_yFwbnD_laUSZfuraoNCnEw_6_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">117875000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc__mi9lMFn9Em9t2k-IgKWdQ_6_10"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">408779000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_yyjADqZYnESbsCrEZxVDWg_6_13"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">336262000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_lqxWycBqDEOp1pZSb_MH1Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;NOTE 3 &#x2013; CASH, CASH EQUIVALENTS AND INVESTMENTS &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Cash and Cash Equivalents&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;The Company considers all liquid investments with original maturities of three months or less at the time of purchase to be cash equivalents. At October 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, including 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 October 31, 2023 and January 31, 2023 were $0.5 million and $0.3 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Investments&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;The Company&#x2019;s investments consisted of the following as of October 31, 2023 and January 31, 2023:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;January&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Short-term investments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  108,029&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  151,511&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Available-for-sale securities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  103,917&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Total investments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  211,946&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  151,511&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Short-Term Investments&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;Short-term investments as of October 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 &#x201c;Bank&#x201d;). 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 October 31, 2023 and January 31, 2023, the weighted average annual interest rates of the outstanding CDs were 5.4% and 2.5%, respectively. The balances of accrued interest on the CDs at October 31, 2023 and January 31, 2023 were $3.0 million and $1.8 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Available-For-Sale Securities&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;AFS securities as of October 31, 2023 consisted of U.S. Treasury notes and a U.S. corporate debt security with original maturities of &lt;span style="-sec-ix-hidden:Hidden_orIKaN3q4UiNEKA6QCAiFA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;two&lt;/span&gt;&lt;/span&gt; or three years. The Company&#x2019;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 October 31, 2023:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:39.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:39.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:58.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Allowance for&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Estimated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortized&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Credit&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unrealized&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unrealized&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cost&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Losses&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gains&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Losses&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;U.S. Treasury notes:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Due in one to two years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,282&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 357&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,928&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Due in two to three years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,514&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 742&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,772&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;U.S. corporate debt security:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Due in two to three years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,268&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.81%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,217&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 105,064&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,150&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 103,917&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;"&gt;As of October 31, 2023, interest receivable in the amount of $0.8 million is &lt;span style="-sec-ix-hidden:Hidden_VUj7GkZRd0aiWjArR6w1hw;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;included&lt;/span&gt;&lt;/span&gt; in the balance of AFS securities. For the three and nine months ended October 31, 2023, the change in net unrealized holding losses for the Company&#x2019;s AFS securities reported in other comprehensive income was approximately $0.4 million and $1.1 million, respectively. For the three and nine months ended October 31, 2023, there were no sales of the Company&#x2019;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 October 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&#x2019;s amortized cost basis.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Concentration Risk&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The Company has a substantial portion of its cash on deposit in the U.S. with the Bank or invested in CDs purchased from the Bank. In addition, the Company has cash invested in a money market fund at a separate institution. 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. As of October 31, 2023, approximately 23% of the Company&#x2019;s cash and cash equivalents were held by financial institutions in Ireland and the U.K. 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.&lt;/p&gt;</us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock>
    <agx:AccruedInvestmentIncomeDividendReceivable
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-5"
      id="Narr_hT8uyB4X3k2k9-31TqZN1g"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">500000</agx:AccruedInvestmentIncomeDividendReceivable>
    <agx:AccruedInvestmentIncomeDividendReceivable
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-5"
      id="Narr_9fEz345vl0KJI8wSE4rWew"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">300000</agx:AccruedInvestmentIncomeDividendReceivable>
    <us-gaap:InvestmentTableTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_N555CBVAskuKrobYCT3vdQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;January&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Short-term investments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  108,029&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  151,511&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Available-for-sale securities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  103,917&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Total investments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  211,946&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  151,511&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:InvestmentTableTextBlock>
    <us-gaap:ShortTermInvestments
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_pRAah_JW_02NnT4qeHWSHA_3_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">108029000</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_E95v829xrUu1E1OzWk3GUw_3_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">151511000</us-gaap:ShortTermInvestments>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_WdOYFoVavkqxJ7KBTrXehQ_4_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">103917000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:Investments
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_75F5tUv9-0yVLx_h5c0Pmw_5_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">211946000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_a-sTfXe1mk6Pxmh6Fl6OtA_5_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">151511000</us-gaap:Investments>
    <agx:InvestmentMaturityPeriod
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_LKMIB-vZrUCVbq6S3eVMqA"
      id="Narr_MZcTiJ5gfUWh9uPsF3xSEQ">P1Y</agx:InvestmentMaturityPeriod>
    <agx:InvestmentMaturityPeriod
      contextRef="Duration_2_1_2022_To_1_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_qdl4QKRup0KHvUVIVAk4NQ"
      id="Narr_bq6RGi3iT0y2FYuC2LeUaQ">P1Y</agx:InvestmentMaturityPeriod>
    <agx:WeightedAverageRateDepositCertificatesOfDeposit
      contextRef="As_Of_10_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_CDdx1db0NUu3tvfK0SxEfg"
      decimals="3"
      id="Narr_YtnJFjT8fUiSlk20vndDVw"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.054</agx:WeightedAverageRateDepositCertificatesOfDeposit>
    <agx:WeightedAverageRateDepositCertificatesOfDeposit
      contextRef="As_Of_1_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_sRfVZe-kZ0C3KtorDcgnmw"
      decimals="3"
      id="Narr_WOmXNvx25EKgLwDZaqbdIw"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.025</agx:WeightedAverageRateDepositCertificatesOfDeposit>
    <us-gaap:InterestReceivable
      contextRef="As_Of_10_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_CDdx1db0NUu3tvfK0SxEfg"
      decimals="-5"
      id="Narr_OcfoEkG9vUyjXXuoPIfHVQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3000000.0</us-gaap:InterestReceivable>
    <us-gaap:InterestReceivable
      contextRef="As_Of_1_31_2023_us-gaap_InformationByCategoryOfDebtSecurityAxis_us-gaap_HeldtomaturitySecuritiesMember_sRfVZe-kZ0C3KtorDcgnmw"
      decimals="-5"
      id="Narr_iMiPcVxnAUWQwtJUBP8sBw"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1800000</us-gaap:InterestReceivable>
    <us-gaap:DebtSecuritiesAvailableForSaleTerm
      contextRef="As_Of_10_31_2023_srt_RangeAxis_srt_MaximumMember_smZDP0lTmU2mJKgDA-ww-A"
      id="Narr_UpHsrBDyCU24A8WtFiqc-Q">P3Y</us-gaap:DebtSecuritiesAvailableForSaleTerm>
    <us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_Cc0miJoe4UWGoRAMtUoFFg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:39.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:39.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:58.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Allowance for&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Estimated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortized&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Credit&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unrealized&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unrealized&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cost&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Losses&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gains&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Losses&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;U.S. Treasury notes:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Due in one to two years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,282&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 357&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,928&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Due in two to three years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,514&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 742&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,772&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;U.S. corporate debt security:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Due in two to three years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,268&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.81%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,217&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:39.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 105,064&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,150&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 103,917&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock>
    <agx:DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo
      contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasuryNotesSecuritiesMember_-mfNXL6ipUeTey3s--JCTQ"
      decimals="-3"
      id="Tc_xRwTz1-tZEimC6jLe3N1iA_6_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">50282000</agx:DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo>
    <agx:DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo
      contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasuryNotesSecuritiesMember_-mfNXL6ipUeTey3s--JCTQ"
      decimals="-3"
      id="Tc_ST6uAMNzJEGJ_df1jEnYAA_6_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3000</agx:DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo>
    <agx:DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo
      contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasuryNotesSecuritiesMember_-mfNXL6ipUeTey3s--JCTQ"
      decimals="-3"
      id="Tc_MbW48Eo7ckC3hf7us7AmoA_6_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">357000</agx:DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo>
    <agx:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo
      contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasuryNotesSecuritiesMember_-mfNXL6ipUeTey3s--JCTQ"
      decimals="-3"
      id="Tc_JOSYnscHLEi6MlKuLfRnoQ_6_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">49928000</agx:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo>
    <agx:DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree
      contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasuryNotesSecuritiesMember_-mfNXL6ipUeTey3s--JCTQ"
      decimals="-3"
      id="Tc_C05PnEDQc0u2oQUo5qIHUQ_7_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">45514000</agx:DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree>
    <agx:DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree
      contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasuryNotesSecuritiesMember_-mfNXL6ipUeTey3s--JCTQ"
      decimals="-3"
      id="Tc_o-KrWWJgPUibqPJMANwq1A_7_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">742000</agx:DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree>
    <agx:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree
      contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasuryNotesSecuritiesMember_-mfNXL6ipUeTey3s--JCTQ"
      decimals="-3"
      id="Tc_LIkZrVUBhEyV2Noqig2UHA_7_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">44772000</agx:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree>
    <agx:DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree
      contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_DomesticCorporateDebtSecuritiesMember_uFu6VIXzx0eukHqLarGEsw"
      decimals="-3"
      id="Tc_Ae7AgBL11UOpFaeHmpsdsQ_9_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">9268000</agx:DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree>
    <agx:DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree
      contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_DomesticCorporateDebtSecuritiesMember_uFu6VIXzx0eukHqLarGEsw"
      decimals="-3"
      id="Tc_2OS7EZ_Jvkq6BHDjI4Wi1g_9_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">51000</agx:DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree>
    <agx:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree
      contextRef="As_Of_10_31_2023_us-gaap_FinancialInstrumentAxis_us-gaap_DomesticCorporateDebtSecuritiesMember_uFu6VIXzx0eukHqLarGEsw"
      decimals="-3"
      id="Tc_ccVVSHo_j02jjovuHQE1fQ_9_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">9217000</agx:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_PSNuR6CDdkCgy7QhLIY0MQ_10_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">105064000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_EkGNFVsrfU6l7wPzM7rw2A_10_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_Zy2_xSa7SE-MYdsHh0DhZg_10_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1150000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_KR90EiamuEqaa3LVHfczVA_10_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">103917000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-5"
      id="Narr_FswPxzgKPEmLep6Kzqmntg"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">800000</us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-5"
      id="Narr_T9TnNNYO1keP51uQMxjQwg"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">400000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-5"
      id="Narr_QJWg_HvxekCQW8BLGogQ4w"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1100000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-5"
      id="Narr_WCCIR4ZI-0yz4wvIvn1yEg"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">0</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-5"
      id="Narr_MgPY4F4ZLUKC8A7zrKs_jg"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">0</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-5"
      id="Narr_Nr34t3UfC0-T_IlSwcDF6A"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">0</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-5"
      id="Narr_0VyoKH4OI0CvUEcO4tgZ6Q"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">0</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <agx:TradeAndOtherReceivablesDisclosureTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_J4gFNUHb3E23k0IzLOflxA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;NOTE 4 &#x2013; ACCOUNTS RECEIVABLE&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The Company generally extends credit to a customer based on an evaluation of the customer&#x2019;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&#x2019;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 nine months ended October 31, 2023 and 2022 were insignificant. The allowance for credit losses at October 31, 2023 and January 31, 2023 was $1.8 million. &lt;/p&gt;</agx:TradeAndOtherReceivablesDisclosureTextBlock>
    <us-gaap:AllowanceForNotesAndLoansReceivableCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-5"
      id="Narr_GCxJaKi8HUyamq-3pkjePQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1800000</us-gaap:AllowanceForNotesAndLoansReceivableCurrent>
    <us-gaap:AllowanceForNotesAndLoansReceivableCurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-5"
      id="Narr_6FTFReCmkUSm_GHIS5kVgg"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1800000</us-gaap:AllowanceForNotesAndLoansReceivableCurrent>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_Y7Eo1LPGJ0yY44PdbxPQNA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;NOTE 5 &#x2013; INTANGIBLE ASSETS &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;At both October 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. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The Company&#x2019;s intangible assets, other than goodwill, relate primarily to the industrial construction services segment and consisted of the following as of October 31, 2023 and January 31, 2023:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:20.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:31.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:31.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;January&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:20.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Estimated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:20.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Useful Life&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amounts&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amounts&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amounts&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amounts&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:20.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Trade names&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;15 years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,499&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,124&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,499&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,150&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,349&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:20.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Customer relationships&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;10 years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 916&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 725&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 191&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 916&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 656&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 260&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:20.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,415&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,315&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,415&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,806&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,609&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 0pt 0pt;"&gt;The future amounts of amortization related to purchased intangibles for each of the five succeeding fiscal years are $0.1 million (November 1, 2023 to January 31, 2024), $0.4 million (year ending January 31, 2025), $0.4 million (year ending January 31, 2026), $0.3 million (year ending January 31, 2027), $0.3 million (year ending January 31, 2028), and $0.8 million (thereafter).&lt;/p&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:Goodwill
      contextRef="As_Of_10_31_2023_us-gaap_BusinessAcquisitionAxis_agx_GemmaPowerSystemLlcMember_VMXL5qAKQEalXct2jNqK9w"
      decimals="-5"
      id="Narr_f77r2LEUPEW9B1YoAyHRWw"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">18500000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_1_31_2023_us-gaap_BusinessAcquisitionAxis_agx_GemmaPowerSystemLlcMember_cYUscEt4dUGaU78UpSsK3A"
      decimals="-5"
      id="Narr_OPyMX4XfTEmqM2Ws-pPL8w"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">18500000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_10_31_2023_us-gaap_BusinessAcquisitionAxis_agx_RobertsCompanyIncMember__Zndj7C-hkiHrLpwFmDpQA"
      decimals="-5"
      id="Narr_JWQ7s-q0zU-E-KIaRZa1Zg"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">9500000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_1_31_2023_us-gaap_BusinessAcquisitionAxis_agx_RobertsCompanyIncMember_b5JYj9LV60acq2q7HafqoQ"
      decimals="-5"
      id="Narr_1skG9NNXSE6ZWMjhXt4GOQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">9500000</us-gaap:Goodwill>
    <agx:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_oJbPXXcf30qg6D3_ravKGQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:20.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:31.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:31.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;January&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:20.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Estimated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:20.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Useful Life&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amounts&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amounts&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amounts&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amounts&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:20.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Trade names&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;15 years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,499&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,124&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,499&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,150&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,349&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:20.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Customer relationships&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;10 years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 916&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 725&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 191&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 916&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 656&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 260&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:20.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,415&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,100&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,315&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,415&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,806&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,609&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</agx:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_Ne1FJ2isGUCt2uRTqLEhxw"
      id="Tc_q4GngSyiJE-pZ3X3yjvptQ_4_2">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_Ne1FJ2isGUCt2uRTqLEhxw"
      decimals="-3"
      id="Tc_rX9L2rvyA0qZhn4IGA1wHQ_4_5"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">4499000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_Ne1FJ2isGUCt2uRTqLEhxw"
      decimals="-3"
      id="Tc_tLU2ga3YdU6jGj61s0k72w_4_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2375000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_Ne1FJ2isGUCt2uRTqLEhxw"
      decimals="-3"
      id="Tc_WwllM8jTjU-SNAbAbJA95A_4_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2124000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_1_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_sDlUVfDlNU2GpbVUMl0GJA"
      decimals="-3"
      id="Tc_-I2uywhUhEefAtTMa1aV8g_4_14"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">4499000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_1_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_sDlUVfDlNU2GpbVUMl0GJA"
      decimals="-3"
      id="Tc_V2uy4bDb4k6iit5fxcihYg_4_17"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2150000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_1_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_sDlUVfDlNU2GpbVUMl0GJA"
      decimals="-3"
      id="Tc_L1SvbTiOdE2iwG6EQ8oO5g_4_20"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2349000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_a8MarYEcc0C-NFJLBaWUBw"
      id="Tc_8mEUW1I1jEuHKQ7_twrJhg_5_2">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_a8MarYEcc0C-NFJLBaWUBw"
      decimals="-3"
      id="Tc_cebBtp2wSUe16eZeeaEirA_5_5"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">916000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_a8MarYEcc0C-NFJLBaWUBw"
      decimals="-3"
      id="Tc_O8mAbn0UQ0OhpkNiokzTzQ_5_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">725000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_10_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_a8MarYEcc0C-NFJLBaWUBw"
      decimals="-3"
      id="Tc_K1L5ap7o6U-gAAG1_xGqzA_5_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">191000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_1_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_2Uf418UqMESeH7TAys-GzQ"
      decimals="-3"
      id="Tc_j29Xtmiojk-3R6yzlxRmSQ_5_14"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">916000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_1_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_2Uf418UqMESeH7TAys-GzQ"
      decimals="-3"
      id="Tc_U2L-l6TM6EqNVzY-u7oaXA_5_17"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">656000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_1_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_2Uf418UqMESeH7TAys-GzQ"
      decimals="-3"
      id="Tc_q7-r1u-r_0SuQWJ5BhotXw_5_20"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">260000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_nrs2RGRhqUGHXv-whMC0aQ_6_5"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">5415000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_f7dXQ3m-FUKngRqP3tUMUA_6_8"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3100000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_hzfkNq2k_0mBuBHN1hsu2Q_6_11"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2315000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_lXG53Xj96Eae_dO0G9770A_6_14"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">5415000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_7eqZYGYmXEes16BwbkWWOw_6_17"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2806000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_Fn4Bf6lDAU-D5mjIoUI2eg_6_20"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2609000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Narr_lyEVqFa9IkiVjpMJQeEVfA"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">100000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Narr_vTQ0lbmBDEmvgp186U22Aw"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">400000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Narr_gwP1qh0VHEKQTMMhtPfe8Q"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">400000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Narr_kSoH6V6I5U6gpwlFDJdF0w"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">300000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Narr_FTkZVc8yV0-hTWIX7Aw7IA"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">300000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Narr_K8TdR5SS6EaJefbwMQN13g"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">800000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_7gEmw8Ad-EitkihMOXMT4A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;NOTE 6 &#x2013; FINANCING ARRANGEMENTS &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;During April 2021, the Company amended its Amended and Restated Replacement Credit Agreement with the Bank (the &#x201c;Credit Agreement&#x201d;) 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 &#x201c;Second Amendment&#x201d;) to the Credit Agreement. The Second Amendment modified the Credit Amendment, primarily, to replace the interest pricing with the Secured Overnight Financing Rate (&#x201c;SOFR&#x201d;) 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&#x2019;s use in the ordinary course of business as defined in the Credit Agreement. The Company intends to renew the Credit Agreement prior to its current expiration date.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;At October 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 $13.2 million at October 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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The Company has pledged the majority of its assets to secure its financing arrangements. The Bank&#x2019;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 October 31, 2023 and January 31, 2023, the Company was in compliance with the covenants of the Credit Agreement, as amended.&lt;/p&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_3_6_2023_To_3_6_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_dn5OlVQRX0GiM3t5vBk4Ew"
      decimals="3"
      id="Narr_cDXEXyfBEUSnuQ3t6jQKOw"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.016</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_3_6_2023_srt_StatementScenarioAxis_agx_LettersOfCreditExpireOnMay312024Member_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_LV0LBuop5k-Wzwb2XVeLSQ"
      decimals="-5"
      id="Narr_QuVpav3VUEGbI3KFWRDCwA"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">50000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <agx:LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity
      contextRef="Duration_3_6_2023_To_3_6_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_R0550NVAbUqttxkvrVTYKQ"
      decimals="-5"
      id="Narr__qcARxSt1kqZ0EaLP9VoRg"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10000000.0</agx:LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="As_Of_10_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LetterOfCreditMember_hfbu22JiBkm1BkT7VQpHQA"
      decimals="-5"
      id="Narr_Cf0a4rh8D0WvHpNLDpm97Q"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">13200000</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="As_Of_1_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LetterOfCreditMember_ETIbmSfZ_0OoqXYoRZcPXg"
      decimals="-5"
      id="Narr_yiEZN4B0sEysecgjbspVKg"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">8800000</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:CommitmentsDisclosureTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_Ml_tboqpXUSh2hvRuyQXUA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;NOTE 7 &#x2013; COMMITMENTS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Leases&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The Company&#x2019;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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;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 &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;term. As the implicit rate is not determinable in most of the Company&#x2019;s leases, management uses the Company&#x2019;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 October 31, 2023 and January 31, 2023, were $4.1 million and $4.8 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;Operating lease expense amounts are recorded on a straight-line basis over the expected lease terms. Operating lease expenses for the three and nine months ended October 31, 2023 were $0.5 million and $1.3 million, respectively, and they were $0.6 million and $1.9 million for the three and nine months ended October 31, 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;"&gt;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 October 31, 2023:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="4" style="vertical-align:bottom;width:100%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ending January&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;2024 (remainder)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 436&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,466&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,194&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 276&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 221&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 818&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Total lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,411&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:86.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Less imputed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 254&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Present value of lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,157&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_qWc9YZ_6xkerbBuXoOIA4w;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Less current portion (included in accrued expenses)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,447&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_iqQwAB-AiEed2DHu2UYUkQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Noncurrent portion (included in noncurrent liabilities) &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,710&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;For operating leases as of October 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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;"&gt;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 nine months ended October 31, 2023 were $3.4 million and $10.1 million, respectively, and they were $3.5 million and $8.8 million for the three and nine months ended October 31, 2022, respectively. Right-of-use assets and lease liabilities related to short-term leases are excluded from the consolidated balance sheets. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Performance Bonds and Guarantees&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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&#x2019;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 October 31, 2023 are not estimable. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;As of October 31, 2023 and January 31, 2023, the estimated amounts of the Company&#x2019;s unsatisfied bonded performance obligations, covering all of its subsidiaries, were approximately $0.5 billion and $0.6 billion, respectively. As of October 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 &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;development efforts. A liability was established for the estimated loss related to this guarantee during the year ended January 31, 2022 (&#x201c;Fiscal 2022&#x201d;).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Warranties&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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 &lt;span style="-sec-ix-hidden:Hidden_gMBAheEq_kOzx0KxveqGYw;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;nine&lt;/span&gt;&lt;/span&gt; to &lt;span style="-sec-ix-hidden:Hidden_I7q3rmom0067CqYEeBSZVA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;twenty-four months&lt;/span&gt;&lt;/span&gt; after the completion of construction on a particular project. Because of the nature of the Company&#x2019;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.&lt;/p&gt;</us-gaap:CommitmentsDisclosureTextBlock>
    <us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_Pt84bGBYcUWQ7AJyfYhd1Q">true</us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend>
    <us-gaap:LesseeOperatingLeaseExistenceOfOptionToTerminate
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_J_Oq90nVW0CjYkdIOPRrQQ">true</us-gaap:LesseeOperatingLeaseExistenceOfOptionToTerminate>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-5"
      id="Narr_-W8JJiCMMUmZRu_AhOHNPQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">4100000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-5"
      id="Narr_gNK1_2p90E-DSaJgagv3cQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">4800000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-5"
      id="Narr_s0USw27Yn0mUjSW7SyOHGQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">500000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-5"
      id="Narr_s1IIcKq0a0-Jffm0QLX2Qw"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1300000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-5"
      id="Narr_6Q_61LALW0ONYun7S69QpQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">600000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-5"
      id="Narr_YEh59jQw80uiDfu4RQFJIQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1900000</us-gaap:OperatingLeaseExpense>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_uFrPI20yIUyM_YQH0ILapQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="4" style="vertical-align:bottom;width:100%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ending January&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;2024 (remainder)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 436&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,466&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,194&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 276&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 221&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 818&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Total lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,411&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:86.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Less imputed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 254&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Present value of lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,157&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_qWc9YZ_6xkerbBuXoOIA4w;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Less current portion (included in accrued expenses)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,447&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_iqQwAB-AiEed2DHu2UYUkQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Noncurrent portion (included in noncurrent liabilities) &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,710&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_t4yTf1FiV0K5t7yp7znd_Q_2_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">436000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_gTjzW3vgyEuwsBR60Ra4Qg_3_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1466000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_rr7G5cdB8EadfAe-z62Pyg_4_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1194000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_a6ty1mkhtECGNTs-c4wA4A_5_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">276000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_ujgk61dgi06W4PgfGM2-Iw_6_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">221000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <agx:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_AddGnDL5DEyLs_MYBNIdbA_7_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">818000</agx:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_ZGoED7lYL0SOQI08GXaPdg_8_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">4411000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_3dA25KGYnUC7weHPTbZKsQ_9_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">254000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_8-seo_7klUi88YT6nzNk-Q_10_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">4157000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_KEMwmnOMlkikWPxkRq-Ayw_11_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1447000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_ajw0Cs02cUGwiV0GB9lAaw_12_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2710000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      id="Narr_5p76vxzz80SaxKLABwWHGA">P53M</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="3"
      id="Narr_YyewEjjXzEGYStbOI3lZeg"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.038</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      id="Narr_axdy0VJSRkanNYlTsNrRGQ">P58M</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="3"
      id="Narr_-2cnPo9k-EOeTT3MfKmZ9w"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.037</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <agx:ShortTermRentalAgreementsExpense
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-5"
      id="Narr_nGVsvUojvUK0hgwVqCcUlA"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3400000</agx:ShortTermRentalAgreementsExpense>
    <agx:ShortTermRentalAgreementsExpense
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-5"
      id="Narr_BxK20Qyjp0-ulUmOKvHrMw"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10100000</agx:ShortTermRentalAgreementsExpense>
    <agx:ShortTermRentalAgreementsExpense
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Narr_uarXY9CGjkmCONjUIKrlGw"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3500000</agx:ShortTermRentalAgreementsExpense>
    <agx:ShortTermRentalAgreementsExpense
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Narr_1HSC3W6IyEi_1XcUicjIEw"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">8800000</agx:ShortTermRentalAgreementsExpense>
    <agx:RemainingBondedPerformanceObligations
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-8"
      id="Narr_IZLJgkyZY0KQoQ6OcAuYNw"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">500000000</agx:RemainingBondedPerformanceObligations>
    <agx:RemainingBondedPerformanceObligations
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-8"
      id="Narr_vMJ5wqe_KE2RXWEySimiwQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">600000000</agx:RemainingBondedPerformanceObligations>
    <us-gaap:GuaranteeObligationsMaximumExposure
      contextRef="As_Of_10_31_2023_us-gaap_BusinessAcquisitionAxis_agx_GemmaPowerSystemsMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_FDUayURBBkKT_dwK8-mBbQ"
      decimals="-5"
      id="Narr_gdcjPLRqz0W_uF5StP0z5A"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3600000</us-gaap:GuaranteeObligationsMaximumExposure>
    <us-gaap:LegalMattersAndContingenciesTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_D3nkPfSQJkGKFE71EVOKww">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;NOTE 8 &#x2013; LEGAL CONTINGENCIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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 October 31, 2023. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:LegalMattersAndContingenciesTextBlock>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_kMeSGj7-WEWVVs97kc5ASQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;NOTE 9 &#x2013; STOCK-BASED COMPENSATION &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;On June 23, 2020, the Company&#x2019;s stockholders approved the adoption of the 2020 Stock Plan (the &#x201c;2020 Plan&#x201d;), and the allocation of 500,000 shares of the Company&#x2019;s common stock for issuance thereunder. On June 20, 2023, the Company&#x2019;s stockholders approved an allocation of an additional 500,000 shares for issuance under the 2020 Plan. The Company&#x2019;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 &#x201c;2011 Plan&#x201d;); the Company&#x2019;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 &#x201c;Stock Plans.&#x201d;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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&#x2019;s common stock on the date of grant. Stock options have terms no longer than ten years. Typically, stock options are awarded with &lt;span style="-sec-ix-hidden:Hidden_Mr14uOmysEucC82tsWJH9g;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;one&lt;/span&gt;&lt;/span&gt;-third of each stock option vesting on each of the first &lt;span style="-sec-ix-hidden:Hidden_Uk_dwLKzMEGjcw8lOl7pTQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;three&lt;/span&gt;&lt;/span&gt; anniversaries of the corresponding award date. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;As of October 31, 2023, there were 2,259,896 shares of common stock reserved for issuance under the Stock Plans; this number includes 578,587 shares of common stock available for future awards under the 2020 Plan. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Stock Options&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;A summary of stock option activity under the Stock Plans for the nine months ended October 31, 2023, along with corresponding weighted average per share amounts, is presented below (shares in thousands):&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;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%;"&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average Exercise&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Price Per Share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Term&#160;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Per Share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Outstanding, February 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,440&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43.84&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.46&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.11&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39.47&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (91)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27.24&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Forfeited&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33.81&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Outstanding, October&#160;31,&#160;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,358&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44.93&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.89&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.42&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Exercisable, October&#160;31,&#160;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,230&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45.45&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.53&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.70&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Outstanding, October&#160;31,&#160;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,405&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44.04&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.61&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.17&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Exercisable, October&#160;31,&#160;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,188&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44.76&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.11&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.69&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;"&gt;The changes in the number of non-vested options to purchase shares of common stock for the nine months ended October 31, 2023, and the weighted average fair value per share for each number, are presented below (shares in thousands):&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Per Share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Non-vested, February 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  194&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7.27&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  10&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8.12&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (75)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.62&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Forfeitures&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.68&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Non-vested, October&#160;31,&#160;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  128&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7.72&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Non-vested, October&#160;31,&#160;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  217&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7.33&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;"&gt;The total intrinsic value amount related to the stock options exercised during the nine months ended October 31, 2023 was $1.5 million. The total intrinsic value amount related to the stock options exercised during the nine months ended October 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 where the options were &#x201c;in-the-money&#x201d; exceeded the aggregate exercise prices of such options at October 31, 2023 by $6.8 million and $5.9 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Restricted Stock Units &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The Company awards restricted stock units to senior executives, certain other key employees and members of the Company&#x2019;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. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;&lt;span style="background:#ffffff;"&gt;During the nine months ended October 31, 2023, the Company awarded total stock return performance-based restricted stock units (&#x201c;PRSUs&#x201d;) covering a target of &lt;/span&gt;&lt;span style="background:#ffffff;"&gt;6,000&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; shares of common stock, earnings per share performance-based restricted stock units (&#x201c;EPRSUs&#x201d;) covering a target of &lt;/span&gt;&lt;span style="background:#ffffff;"&gt;15,000&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; shares of common stock, renewable energy performance-based restricted stock units (&#x201c;RPRSUs&#x201d;) covering a target of &lt;/span&gt;&lt;span style="background:#ffffff;"&gt;7,500&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; shares of common stock, time-based restricted stock units (&#x201c;TRSUs&#x201d;) covering &lt;/span&gt;&lt;span style="background:#ffffff;"&gt;52,800&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; shares of common stock, and &lt;/span&gt;&lt;span style="background:#ffffff;"&gt;1,492&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; shares based on the amount of cash dividends deemed paid on shares earned pursuant to the awards. During the nine months ended October 31, 2022, the Company awarded PRSUs covering a target of &lt;/span&gt;&lt;span style="background:#ffffff;"&gt;26,000&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; shares of common stock, RPRSUs covering a target of &lt;/span&gt;&lt;span style="background:#ffffff;"&gt;7,500&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; shares of common stock and TRSUs covering &lt;/span&gt;&lt;span style="background:#ffffff;"&gt;72,500&lt;/span&gt;&lt;span style="background:#ffffff;"&gt; shares of common stock. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units for the nine months ended October 31, 2023, and the weighted average fair value per share for each restricted stock unit, are presented below (shares in thousands):&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Per Share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:74.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Outstanding, February 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  310&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30.80&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Awarded&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  104&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31.68&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:74.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Issued&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (42)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43.80&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Forfeited&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (49)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.57&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:74.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Outstanding, October&#160;31,&#160;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30.59&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:74.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Outstanding, October&#160;31,&#160;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  298&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29.42&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Fair Value&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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 October 31, 2023 and 2022, respectively. Expense amounts related to stock awards were $3.4 million and $3.1 million for the nine months ended October 31, 2023 and 2022, respectively. At October 31, 2023, there was $6.4 million in unrecognized compensation cost related to outstanding stock awards that the Company expects to expense over the next three years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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 &lt;span style="-sec-ix-hidden:Hidden_Trjnt_zL3kmpBU4lMTu6kg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;three-&lt;/span&gt;&lt;/span&gt;to-five year U.S. Treasury notes. The dividend yield is based on the Company&#x2019;s current annual regular dividend amount. The calculations of the expected volatility factors are based on the monthly closing prices of the Company&#x2019;s common stock for the five-year periods preceding the dates of the corresponding awards.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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. &lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="As_Of_6_23_2020_us-gaap_PlanNameAxis_agx_Plan2020Member_OZmzww4oUUyKOiQww01y5w"
      decimals="INF"
      id="Narr_R1donpQOHU646mpzUYSDvw"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">500000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="As_Of_6_20_2023_us-gaap_PlanNameAxis_agx_Plan2020Member_bJmwYxqUfEO6J7ioRlgNfQ"
      decimals="INF"
      id="Narr_mDrj16jSHECN6dUuzlOaiQ"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">500000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_agx_IncentiveStockOptionsMember_us-gaap_PlanNameAxis_agx_StockPlanMember_Zes_lVAzAUWHA1JwelBujA"
      id="Narr_DHOk4o829E6_M7pQe_6Adw">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="As_Of_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_rEP8SaP03Ee5Fal16dt0-Q"
      decimals="INF"
      id="Narr_7r4X-LeIWE6Dgm4ZiupaYw"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">2259896</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="As_Of_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_rEP8SaP03Ee5Fal16dt0-Q"
      decimals="INF"
      id="Narr_bKh0niCWNE-wVjfI5Ea-Jg"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">578587</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_yDdaBzz9f0uOtqYGPwgVqQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;A summary of stock option activity under the Stock Plans for the nine months ended October 31, 2023, along with corresponding weighted average per share amounts, is presented below (shares in thousands):&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;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%;"&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average Exercise&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Price Per Share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Term&#160;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Per Share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Outstanding, February 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,440&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43.84&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.46&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.11&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39.47&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (91)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27.24&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Forfeited&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33.81&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Outstanding, October&#160;31,&#160;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,358&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44.93&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.89&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.42&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Exercisable, October&#160;31,&#160;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,230&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45.45&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.53&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.70&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Outstanding, October&#160;31,&#160;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,405&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44.04&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.61&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.17&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Exercisable, October&#160;31,&#160;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,188&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44.76&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.11&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.69&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_yfSkrK7tmEy5moY8ZIF79w_6_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">1440000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="2"
      id="Tc_SKj8QvDoVE262OtY2oeGQA_6_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">43.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_2_1_2022_To_1_31_2023_I-QeavC5_Uic4XGNNmm6bA"
      id="Tc_y1re6kdwf0Cex6DcEScA2w_6_7">P5Y5M15D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="2"
      id="Tc_tlhzh7Fp8EWDwConJN_OOQ_6_10"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">10.11</agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_nYOM4hvkAESC6WS2SwrCxA_7_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">10000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="2"
      id="Tc_Fq3xdSbi30al9NqHUsISww_7_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">39.47</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_n0CRqqY0C0CT32guzQalfQ_8_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">91000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="2"
      id="Tc_KNWbckN_qEyZy7JFBVAqEg_8_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">27.24</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_DgSifeuha0GNXXEcQhXtyA_9_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">1000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="2"
      id="Tc_zsa_TSG9Tk21ylta6nWffQ_9_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">33.81</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_9siEtYQmTE6MISb6yfs_uw_10_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">1358000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="2"
      id="Tc_CHJ4n6Z1qUSqwS6u4RAXyQ_10_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">44.93</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tc_ORvXWHZHc0i3FblUnHx7zw_10_7">P4Y10M20D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="2"
      id="Tc_mNnCnZpftkyuxax1Pmn_GA_10_10"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">10.42</agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_7cpcS24C8E2Nf6nfRR6YOA_11_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">1230000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="2"
      id="Tc_kJERLfiQkkaZg_T5KGNrWw_11_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">45.45</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tc_3534gol5Wkmru299qUifwA_11_7">P4Y6M10D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="2"
      id="Tc_8A5T1dUSBE2oRrcq-LrL2g_11_10"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">10.70</agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw"
      decimals="-3"
      id="Tc_pFFLH95mOkuSfGf4h0xz-g_13_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">1405000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw"
      decimals="2"
      id="Tc_Ya5tHwEuv0uSCwrfhPSqfg_13_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">44.04</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      id="Tc_i80huVnPwEW6UUDejvEGgw_13_7">P5Y7M9D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue
      contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw"
      decimals="2"
      id="Tc_if6615Bg9U6YNGZF71P7Bw_13_10"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">10.17</agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw"
      decimals="-3"
      id="Tc_WG9gU88u3kSwZeAe-yUrYg_14_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">1188000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw"
      decimals="2"
      id="Tc_a6p7iiNIk0eCan8bhvtV-g_14_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">44.76</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      id="Tc_NhlKOdOgV0-CTISehhf08A_14_7">P5Y1M9D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue
      contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw"
      decimals="2"
      id="Tc_LJWYC2Z4R0iWLl8OWlYxOw_14_10"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">10.69</agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue>
    <us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_RisvZ33OL0uoBawO68amqA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;"&gt;The changes in the number of non-vested options to purchase shares of common stock for the nine months ended October 31, 2023, and the weighted average fair value per share for each number, are presented below (shares in thousands):&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Per Share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Non-vested, February 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  194&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7.27&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  10&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8.12&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (75)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.62&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Forfeitures&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.68&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Non-vested, October&#160;31,&#160;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  128&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7.72&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Non-vested, October&#160;31,&#160;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  217&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7.33&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_wxkiTeZPL0qxuoKCBwPqTA_6_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">194000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="2"
      id="Tc_P7BeLeQwmEKeVKLLoJp6Jg_6_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">7.27</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_R9FjGDERGUaLTfdxgpvIDQ_7_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">10000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="2"
      id="Tc_DCqcvaian0yqE1ksvYMuKw_7_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">8.12</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_7ELHv6-ao0aamtB6KGrRYQ_8_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">75000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="2"
      id="Tc_So_jgpa1r0aNFwcbdKyCog_8_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">6.62</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_COYapi3ZpEe_BprKCRx2pA_9_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">1000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="2"
      id="Tc_11Jzl6A-bUKp3_sP6RUOjQ_9_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">5.68</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_eEle5YYh-U6A5QTTwgMr3A_10_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">128000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="2"
      id="Tc_HpDOQIjb2kGze5YLk4WxYA_10_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">7.72</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw"
      decimals="-3"
      id="Tc_FD0dpy8pQUGnWYreJAsL1g_12_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">217000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw"
      decimals="2"
      id="Tc_mjQj7saDfE69cRyjq9MGZQ_12_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">7.33</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-5"
      id="Narr_41wj8_5qIECLsbIGVhIVxA"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-5"
      id="Narr_rxu1o9DLfkKO6_2_fGA2fg"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-5"
      id="Narr_ir-RQqHvOk6AxzWdMptj1A"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">5900000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_pmgV6BguZEidry-tZ7loyA"
      id="Narr_PHQ2pJYstEqh4hYilqJkzQ">P3Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod
      contextRef="As_Of_10_31_2023_us-gaap_AwardTypeAxis_agx_PerformanceBasedRestrictedStockUnitsMember_8MEXG9tC_0erje-pB6PdoA"
      decimals="INF"
      id="Narr_9v6c-W0ZXEaZfsAWfx3u9w"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">6000</agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod>
    <agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod
      contextRef="As_Of_10_31_2023_us-gaap_AwardTypeAxis_agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember_xXA4f-0QM0qUeO8XMuhlbg"
      decimals="INF"
      id="Narr_gi_SC-vgmkmreunz4im4Ag"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">15000</agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod>
    <agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod
      contextRef="As_Of_10_31_2023_us-gaap_AwardTypeAxis_agx_RenewablePerformanceBasedRestrictedStockUnitsMember_2Na8JWlL6kWoliHSXc-T5Q"
      decimals="INF"
      id="Narr_HllUdg65WU6nSmC2dLmfHg"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">7500</agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod>
    <agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod
      contextRef="As_Of_10_31_2023_us-gaap_AwardTypeAxis_agx_TimeBasedRestrictedStockUnitsMember_RHLT3gkQG0CFqCUKlX88XA"
      decimals="INF"
      id="Narr_BXH7Lriq60GeIF6gknqwGA"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">52800</agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod>
    <us-gaap:CommonStockDividendsShares
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="INF"
      id="Narr_MpSFue870ECwNR8Bsoficg"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">1492</us-gaap:CommonStockDividendsShares>
    <agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod
      contextRef="As_Of_10_31_2022_us-gaap_AwardTypeAxis_agx_PerformanceBasedRestrictedStockUnitsMember_eSM7ATnZpkek7QKGHZ4q6Q"
      decimals="INF"
      id="Narr_ZItHctYdckS_kJIExon40Q"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">26000</agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod>
    <agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod
      contextRef="As_Of_10_31_2022_us-gaap_AwardTypeAxis_agx_RenewablePerformanceBasedRestrictedStockUnitsMember_NTY0GN1ypEeX9Hsa9ghdOg"
      decimals="INF"
      id="Narr_nN6E5FowaUSFlAg2pl4D0g"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">7500</agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod>
    <agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod
      contextRef="As_Of_10_31_2022_us-gaap_AwardTypeAxis_agx_TimeBasedRestrictedStockUnitsMember_OUFq_pYVE0KRvR8dQoVydg"
      decimals="INF"
      id="Narr_eaQvjOt3gEq2UMQ9AyCmfQ"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">72500</agx:NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_njJEJCLbq06MM0mucuUPdA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units for the nine months ended October 31, 2023, and the weighted average fair value per share for each restricted stock unit, are presented below (shares in thousands):&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Per Share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:74.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Outstanding, February 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  310&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30.80&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Awarded&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  104&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31.68&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:74.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Issued&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (42)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43.80&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Forfeited&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (49)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.57&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:74.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Outstanding, October&#160;31,&#160;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  323&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30.59&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:74.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:74.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Outstanding, October&#160;31,&#160;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  298&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29.42&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_1_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_aRue0zOfp0GnMgOX2ckfuw"
      decimals="-3"
      id="Tc_JpF4ZJHFak2hnhGVMfwMvw_6_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">310000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_1_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_aRue0zOfp0GnMgOX2ckfuw"
      decimals="2"
      id="Tc_uSrEcT-wM0aecRZRt0fRWQ_6_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">30.80</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_pmgV6BguZEidry-tZ7loyA"
      decimals="-3"
      id="Tc_e3_7IIovpU-siNcAFDtXAw_7_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">104000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_pmgV6BguZEidry-tZ7loyA"
      decimals="2"
      id="Tc_Ie5AzA9ECEiaU_nDAk1VKw_7_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">31.68</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_pmgV6BguZEidry-tZ7loyA"
      decimals="-3"
      id="Tc_NfqeND8Ce0eMUt4cMTd7Sw_8_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">42000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_pmgV6BguZEidry-tZ7loyA"
      decimals="2"
      id="Tc_gpjTjbTQsk2q6g-rl2g6Lg_8_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">43.80</agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_pmgV6BguZEidry-tZ7loyA"
      decimals="-3"
      id="Tc_MChVAt7nPkuClK8wUdJu1A_9_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">49000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_pmgV6BguZEidry-tZ7loyA"
      decimals="2"
      id="Tc_tfR9HRMp5k-RgE4OhfnHwQ_9_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">15.57</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_X54GfyMLg0C3LIarZOyNOw"
      decimals="-3"
      id="Tc_G07IKUkfDUqMuvI3CN00vg_10_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">323000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_10_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_X54GfyMLg0C3LIarZOyNOw"
      decimals="2"
      id="Tc_R0QxHqASxUC1cc0bBPr2Gg_10_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">30.59</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_10_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_zA47Crc9X02F3o2gCvoF0w"
      decimals="-3"
      id="Tc_e6B3HR2jIkua3gUga8Zgbg_12_2"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">298000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_10_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_zA47Crc9X02F3o2gCvoF0w"
      decimals="2"
      id="Tc_FH_yow89wEe1wYsf4OmzCw_12_5"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">29.42</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-5"
      id="Narr_dQtLDCliwUSgETFUFYSw0A"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1200000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-5"
      id="Narr_78YCqZjMMUGQzsNoYGcrig"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1100000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-5"
      id="Narr_3a7w-Hdpv02nvBAi9trtOg"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3400000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-5"
      id="Narr_sttJKsQsmkSUqboWcrnMRA"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3100000</us-gaap:ShareBasedCompensation>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-5"
      id="Narr_Op0Ni86Xw02sG6WX2RUl-Q"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6400000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_OSz9WKLX3EmtcNOBqhPC8A">P3Y</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_RangeAxis_srt_MaximumMember_R83E7ETSDkaHhVaQZSNSbw"
      id="Narr_vXapin0vYk2lghaq1qOUBQ">P5Y</agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices>
    <agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_QUM-T0K2MU6RKtvhRRbViw">P5Y</agx:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_TitleOfIndividualAxis_srt_ExecutiveOfficerMember_us-gaap_AwardTypeAxis_agx_PerformanceBasedRestrictedStockUnitsMember_us-gaap_PlanNameAxis_agx_StockPlanMember_o4GhG6ViKkWzIcpm9DcLiA"
      id="Narr_4QcMkccV_UqSYFOYs5Kxag">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <agx:PercentageReductionInAggregateFairValueOfStockOption
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="3"
      id="Narr_j5iobEjTPE-wCrre6_vYRg"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.885</agx:PercentageReductionInAggregateFairValueOfStockOption>
    <agx:PercentageOfMaximumSharesForTargetNumberOfSharesAwarded
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_TitleOfIndividualAxis_srt_ExecutiveOfficerMember_us-gaap_AwardTypeAxis_agx_PerformanceBasedRestrictedStockUnitsMember_us-gaap_PlanNameAxis_agx_StockPlanMember_o4GhG6ViKkWzIcpm9DcLiA"
      decimals="2"
      id="Narr_ZyMJu0TekkKagbK1uhdzog"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.50</agx:PercentageOfMaximumSharesForTargetNumberOfSharesAwarded>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_lso3Jwp-xEqxPzyr9ADLfQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;NOTE 10 &#x2013; INCOME TAXES &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Income Tax Expense Reconciliations&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The Company&#x2019;s income tax amounts for the nine months ended October 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: &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:36.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Nine Months Ended October&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Computed expected income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,711&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  7,135&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Difference resulting from:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Unrecognized tax loss benefit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  3,255&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;State income taxes, net of federal tax effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  486&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Foreign tax rate differential&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (1,699)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (194)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Excess executive compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  672&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  757&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Meals and entertainment expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  385&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  48&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Research and development credits adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Other permanent differences and adjustments, net &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  269&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  97&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  11,616&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  14,510&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;"&gt;Foreign income tax expense for the nine months ended October 31, 2023 was $3.0 million. Foreign income tax expense for the nine months ended October 31, 2022 was not material. &#160; &#160; &#160; &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Net Operating Loss (&#x201c;NOL&#x201d;) Carryback&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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 &#x201c;CARES Act&#x201d;) 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. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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&#x2019;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 &#x201c;IRS&#x201d;) requesting carryback refunds of income taxes paid for the years ended January 31, 2016 (&#x201c;Fiscal 2016&#x201d;) and 2015 (&#x201c;Fiscal 2015&#x201d;) in the total amount of approximately $12.7 million during the fiscal year ended January 31, 2021 (&#x201c;Fiscal 2021&#x201d;). 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&#x2019;s amended tax returns and refund request.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Research and Development Tax Credits&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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. In May 2023, the Company received notification that its amended federal income tax returns for Fiscal 2021 and Fiscal 2022 were selected for examination. At October 31, 2023, the examination was in its early stages.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Income Tax Refunds&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;As of October 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.6 million and $15.3 million, respectively. The income tax refunds included the amount expected to be received from the IRS upon &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;its review and approval of the Company&#x2019;s NOL carryback refund request and the completion of its examination of the amended tax returns for Fiscal 2022 and Fiscal 2021 as described above. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Income Tax Returns&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;background:#ffffff;"&gt;Solar Energy Projects&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The Company has invested in limited liability companies that make equity investments in solar energy projects that are eligible to receive energy tax credits. &lt;span style="font-family:'inherit';background:#ffffff;"&gt;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. At October 31, 2023 and January 31, 2023, the investment account balances were &lt;/span&gt;&lt;span style="font-family:'inherit';background:#ffffff;"&gt;$1.0&lt;/span&gt;&lt;span style="font-family:'inherit';background:#ffffff;"&gt; million and &lt;/span&gt;&lt;span style="font-family:'inherit';background:#ffffff;"&gt;$1.2&lt;/span&gt;&lt;span style="font-family:'inherit';background:#ffffff;"&gt; million, respectively. These investments are expected to provide positive overall returns over their &lt;/span&gt;&lt;span style="font-family:'inherit';background:#ffffff;"&gt;six-year&lt;/span&gt;&lt;span style="font-family:'inherit';background:#ffffff;"&gt; expected lives. As of October 31, 2023, the Company had &lt;/span&gt;&lt;span style="font-family:'inherit';background:#ffffff;"&gt;no&lt;/span&gt;&lt;span style="font-family:'inherit';background:#ffffff;"&gt; remaining cash investment commitments related to these projects.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-family:'inherit';background:#ffffff;"&gt;During the three and nine months ended October 31, 2023, the investment balance was adjusted to reflect the Company&#x2019;s share of the losses of the investment entities in the amounts of less than &lt;/span&gt;&lt;span style="font-family:'inherit';background:#ffffff;"&gt;$0.1&lt;/span&gt;&lt;span style="font-family:'inherit';background:#ffffff;"&gt; million and &lt;/span&gt;&lt;span style="font-family:'inherit';background:#ffffff;"&gt;$0.1&lt;/span&gt;&lt;span style="font-family:'inherit';background:#ffffff;"&gt; million, respectively. For the three and nine months ended October 31, 2022, the investment balance was adjusted to reflect the Company&#x2019;s share of the income of the investment entities in the amounts of approximately &lt;/span&gt;&lt;span style="font-family:'inherit';background:#ffffff;"&gt;$0.6&lt;/span&gt;&lt;span style="font-family:'inherit';background:#ffffff;"&gt; million and &lt;/span&gt;&lt;span style="font-family:'inherit';background:#ffffff;"&gt;$1.1&lt;/span&gt;&lt;span style="font-family:'inherit';background:#ffffff;"&gt; million, respectively. These net amounts have been included as other loss or income in the Company&#x2019;s condensed consolidated statement of earnings for the corresponding periods.&lt;/span&gt;&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="2"
      id="Narr_2YCONNGNm0is3DnJDMV0bw"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="2"
      id="Narr_d14wsbyFPkGOvQgsdiHQxQ"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_nXk0owBFgU69FqISXcg34A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:36.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Nine Months Ended October&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Computed expected income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,711&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  7,135&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Difference resulting from:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Unrecognized tax loss benefit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  3,255&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;State income taxes, net of federal tax effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  486&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Foreign tax rate differential&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (1,699)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (194)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Excess executive compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  672&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  757&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Meals and entertainment expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  385&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  48&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Research and development credits adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Other permanent differences and adjustments, net &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  269&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  97&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  11,616&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  14,510&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_8nnKsZKiGEKG691JrAB6UQ_3_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6711000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_iPoF9H0Uk0a5hqVGEhV6kQ_3_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">7135000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <agx:UnrecognizedTaxLossBenefit
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_p7mZz6ADZ0CIhgGgO7FuNg_5_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-3255000</agx:UnrecognizedTaxLossBenefit>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_vBbDZe4Bi0qEekuUI2CX8A_6_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2023000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_IGICL38E90yzzKJFKqEAcQ_6_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">486000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_MdAkvk5rHkWCAaKxnCjXnQ_7_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-1699000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_LokEQYYFOE6CwcuMBRglgg_7_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-194000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <agx:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_v514rD7FXUiSBECHdFqtRQ_8_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">672000</agx:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount>
    <agx:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_vB8ZAGCQfU-kgKS4XnXQbw_8_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">757000</agx:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_W4IDZ274E0-idzDuNX75_Q_9_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">385000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_uJGBboPL5EWuCM1ncZZjDQ_9_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">48000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_5InHCLZwDUSC6JSah-Em9A_10_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6181000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_gLo1z6rSWUGvL6XJ5gczoA_11_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">269000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_r7Jr9EAm3U2udK8XFfLBIw_11_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">97000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_tvQtn40BREWhK71ZmMAmFQ_12_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">11616000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_ds9DxNjnZUOX7Ze_92OlBw_12_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">14510000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-5"
      id="Narr_ctNnOX8iPkqolEfTO4boFw"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3000000.0</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="0"
      id="Narr_hsmhZ2fLN0-KMEH0Bmthng"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">0</us-gaap:CurrentForeignTaxExpenseBenefit>
    <agx:IncreaseInLossCarrybackPeriodForCertainLosses
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_0BEmJ3E71UONYNPHrx9ZkA">P5Y</agx:IncreaseInLossCarrybackPeriodForCertainLosses>
    <agx:DomesticNetOperatingLossCarryback
      contextRef="As_Of_1_31_2020_oh5ZOlOA8EG28vpw37cNGQ"
      decimals="-5"
      id="Narr_EVysEfzg9kyUehDdh8sIFw"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">39500000</agx:DomesticNetOperatingLossCarryback>
    <us-gaap:DeferredIncomeTaxesAndOtherTaxReceivableCurrent
      contextRef="As_Of_1_31_2021_AMfooaGhjEyDWkTzNl6KxQ"
      decimals="-5"
      id="Narr_nkfszF5RWEquGttFKvdImw"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">12700000</us-gaap:DeferredIncomeTaxesAndOtherTaxReceivableCurrent>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-5"
      id="Narr_ac17XqUGYUGEzDwhAklZcQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">5800000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <agx:Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-5"
      id="Narr_PT-be5_ztUiwfOJ_Si3CEQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2400000</agx:Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit>
    <agx:IncomeTaxRefundsAndPrepaidIncomeTaxes
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-5"
      id="Narr_wu_SwE6-JUmda2wLIWBMeQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">16600000</agx:IncomeTaxRefundsAndPrepaidIncomeTaxes>
    <agx:IncomeTaxRefundsAndPrepaidIncomeTaxes
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-5"
      id="Narr_Q_p0ynAgO0-Azr9hODBfOQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">15300000</agx:IncomeTaxRefundsAndPrepaidIncomeTaxes>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-5"
      id="Narr_RgoCJzvgtUuZD43KxkN74g"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1000000.0</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-5"
      id="Narr_CpkaRv-qnU25LGGs7wPrvg"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1200000</us-gaap:EquityMethodInvestments>
    <agx:InvestmentsTerm
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Narr_iaVfbJCC3UOMRKgW-r1o-w">P6Y</agx:InvestmentsTerm>
    <agx:CashInvestmentCommitments
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-5"
      id="Narr_ETo1T8ajpkmXWgaXbyRIPA"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">0</agx:CashInvestmentCommitments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_8_1_2023_To_10_31_2023_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_vcJKnDFBJUWrImj4VKR5mg"
      decimals="-5"
      id="Narr_4SLUqjwK80y9aBrJ-0gyxg"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">100000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_CVUExyfEu0ihiZ_gTTCtMA"
      decimals="-5"
      id="Narr_yGQ4NPC_ykKd3LAi8g2n9Q"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">100000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_8_1_2022_To_10_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_pVvz3-u7VEaOeqWx3DEYhw"
      decimals="-5"
      id="Narr_0vM7DU8oQUaDi1J2zUrqxQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">600000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_2_1_2022_To_10_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_E3hAogTyqEmHN_FQY-NHlA"
      decimals="-5"
      id="Narr_pBDqtpriiE6sjO0AdlkQhQ"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1100000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_F_eg9v1Y70GM1I6ZKyPvfg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;NOTE 11 &#x2013; NET INCOME PER SHARE&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;Basic and diluted net income per share amounts are computed as follows (shares in thousands except in the notes):&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:37.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended October&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  5,464&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,758&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Weighted average number of shares outstanding &#x2013; basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  13,328&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,781&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Effect of stock awards &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  231&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  31&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Weighted average number of shares outstanding &#x2013; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  13,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  13,812&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Net income per share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  0.41&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  0.56&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  0.40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  0.56&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:8pt;"&gt;&lt;/div&gt;&lt;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;"&gt;&lt;tr&gt;&lt;td style="width:49.7pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:8pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;For the three months ended October 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;690,167&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt; and &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;1,146,834&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt; shares of common stock, respectively.&lt;/span&gt;&lt;/td&gt;&lt;td style="width:49.7pt;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:8pt;"&gt;&lt;/div&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:36.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Nine Months Ended October&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  20,340&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,465&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Weighted average number of shares outstanding &#x2013; basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  13,381&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,268&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Effect of stock awards &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  168&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  82&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Weighted average number of shares outstanding &#x2013; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  13,549&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,350&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Net income per share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1.52&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1.36&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1.50&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1.36&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:8pt;"&gt;&lt;/div&gt;&lt;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;"&gt;&lt;tr&gt;&lt;td style="width:49.7pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:8pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;For the nine months ended October 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;881,056&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt; and &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;1,103,334&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt; shares of common stock, respectively.&lt;/span&gt;&lt;/td&gt;&lt;td style="width:49.7pt;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_G4blD2onbUKOixBIM6UOmA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;Basic and diluted net income per share amounts are computed as follows (shares in thousands except in the notes):&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:37.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended October&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  5,464&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,758&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Weighted average number of shares outstanding &#x2013; basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  13,328&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,781&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Effect of stock awards &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  231&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  31&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Weighted average number of shares outstanding &#x2013; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  13,559&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  13,812&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Net income per share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  0.41&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  0.56&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:59.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  0.40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  0.56&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:8pt;"&gt;&lt;/div&gt;&lt;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;"&gt;&lt;tr&gt;&lt;td style="width:49.7pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:8pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;For the three months ended October 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;690,167&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt; and &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;1,146,834&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt; shares of common stock, respectively.&lt;/span&gt;&lt;/td&gt;&lt;td style="width:49.7pt;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:8pt;"&gt;&lt;/div&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:36.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Nine Months Ended October&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  20,340&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,465&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Weighted average number of shares outstanding &#x2013; basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  13,381&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,268&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Effect of stock awards &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  168&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  82&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Weighted average number of shares outstanding &#x2013; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  13,549&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,350&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Net income per share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1.52&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1.36&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:61.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"&gt;Diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1.50&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1.36&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:8pt;"&gt;&lt;/div&gt;&lt;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;"&gt;&lt;tr&gt;&lt;td style="width:49.7pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:8pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;For the nine months ended October 31, 2023 and 2022, the weighted average numbers of shares determined on a dilutive basis exclude the effects of antidilutive stock options and restricted stock units covering an aggregate of &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;881,056&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt; and &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;1,103,334&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt; shares of common stock, respectively.&lt;/span&gt;&lt;/td&gt;&lt;td style="width:49.7pt;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_O6i-4MZAAEqKYs1AjXq9JQ_3_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">5464000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_4qjymZzM6kSzRnWy_RXa2g_3_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">7758000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_gX4-FASWX0ub6F-MuHF5VA_5_3"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13328000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_w3TKW8NZ7Eie-DDRWTR5VQ_5_6"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13781000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_fSPELCDPWEm_hadiCFAFLw_6_3"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">231000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_AlK3LyWMfkCn0_H_Vc_8TQ_6_6"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">31000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_J8UYWoASdUOJHwv2f-AFRg_7_3"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13559000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_8vZaTeJbPUqjTko2Ux1dZQ_7_6"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13812000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="2"
      id="Tc_fge7Oue-XUaaUNjszUtfTg_10_3"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.41</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="2"
      id="Tc_c2awQgPFXkCoZHvjkeIJag_10_6"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.56</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="2"
      id="Tc_A_5SY6pKl0-KdAN-J4rVSQ_11_3"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.40</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="2"
      id="Tc_LmI3nRSYv0eUj4DR0ALUmg_11_6"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.56</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="INF"
      id="Narr_XN7k6zxEEEqCgiz56h8Kog"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">690167</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="INF"
      id="Narr_1Lt8bL2U00KTt-U_qK7VBQ"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">1146834</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_vNN50W0Pe0Can5GSkp-ntQ_3_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">20340000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc__qHZ13FvQk-DDIBdWMNypw_3_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">19465000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_9oUiAhV68UecsAzOySXDwQ_5_3"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13381000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_cv_WXnG710qUhijvLVMxYg_5_6"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">14268000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_t0AesX-a7kGqYQt_8a-EWQ_6_3"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">168000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_aUZJsWyVOEamAP2FRhECcw_6_6"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">82000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_STQR17yRjE-PSvFAVObE3A_7_3"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">13549000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_Ip4zVRx8H06HDlq_0TkCpw_7_6"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">14350000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="2"
      id="Tc_5LAQ57eUUkSf1-05Djl8yQ_10_3"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">1.52</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="2"
      id="Tc_ImF-bDOUN0W81D8LhC86sw_10_6"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">1.36</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="2"
      id="Tc_nfR496qh-kuEOvFTadtbyg_11_3"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">1.50</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="2"
      id="Tc_jMVLy6eS2UGNwNUhh_wx4g_11_6"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">1.36</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="INF"
      id="Narr_ZeAANFBcxkWR3NVF8nPwuQ"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">881056</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="INF"
      id="Narr_z90Th6LFM0-uHlRzIRkemQ"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">1103334</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <agx:CashDividendAndTreasuryStockTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_U5OuNi4RDEismXe-W-OX2g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;NOTE 12 &#x2013; CASH DIVIDENDS AND COMMON STOCK REPURCHASES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;On September 19, 2023, Argan&#x2019;s board of directors increased the Company&#x2019;s quarterly cash dividend by 20% from $0.25 to $0.30 per share of common stock, which was &lt;span style="-sec-ix-hidden:Hidden_Ajgz7_ecxkKV3UHC2MTVfw;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;paid&lt;/span&gt;&lt;/span&gt; on October 31, 2023 to stockholders of record at the close of business on October 23, 2023. The Company also made regular quarterly cash dividend payments in the amount of $0.25 per share of common stock in July 2023 and April 2023. During the nine months ended October 31, 2022, the board of directors declared three regular quarterly cash dividends, each in the amount of $0.25 per share of common stock, which were paid to stockholders in October 2022, July 2022 and April 2022. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;Pursuant to its established program and authorizations provided by Argan&#x2019;s board of directors, the Company repurchased shares of its common stock during the nine months ended October 31, 2023 and 2022 and added the shares to treasury stock. During these periods, the Company repurchased 212,441 shares and 1,721,015 shares of common stock, all on the open market, for aggregate prices of approximately &lt;span style="-sec-ix-hidden:Hidden_hjEpon2EBUa5fTiijqbvbQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;$8.4&lt;/span&gt;&lt;/span&gt; million, or $39.67 per share, and $63.3 million, or $36.75 per share, respectively. For the nine months ended October 31, 2023, the Company accepted 29,058 shares of common stock at the average price per share of $47.16 for the exercise price and/or tax withholding in connection with stock option exercises and other share-based award settlements. For the nine months ended October 31, 2022, the Company did not accept any shares of common stock for such transactions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;For the nine months ended October 31, 2023, the Company used 132,656 shares of treasury stock to settle stock option exercises and other share-based awards. For the nine months ended October 31, 2022, no shares of treasury stock were used to settle such transactions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;In August 2022, the Inflation Reduction Act (the &#x201c;IRA&#x201d;) was signed into law, which introduced a 1% excise tax on the value of shares repurchased after December 31, 2022. For the nine months ended October 31, 2023, the excise tax was not material.&lt;/p&gt;</agx:CashDividendAndTreasuryStockTextBlock>
    <agx:PercentageIncreaseInCommonStockDividendPerShare
      contextRef="As_Of_9_19_2023_gINSPJ0LeEi-tW4ncaLAkg"
      decimals="2"
      id="Narr_0SwkL96GFE-NnIQTGgtHqA"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.20</agx:PercentageIncreaseInCommonStockDividendPerShare>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_9_18_2023_To_9_18_2023_g8t3fgSiKkuwPJBMXhR0-w"
      decimals="2"
      id="Narr_R5XYBopPEU2dQCO3NlVYlQ"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.25</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_9_19_2023_To_9_19_2023_P225MhbPHEKv_B83RaaMAg"
      decimals="2"
      id="Narr_xo3QEGYB1U2kP2XVPDe1Lw"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.30</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_4_1_2023_To_4_30_2023_HmFAs4ftaU-GBkq3IixcPQ"
      decimals="2"
      id="Narr_PGrfBANbf0eH1ctBbjp16Q"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.25</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_7_1_2023_To_7_31_2023_Eie9zLwl00STBbUHvxa2vw"
      decimals="2"
      id="Narr_-XKcWFnd2Ue2MhvOn6Luxg"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.25</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_2_1_2022_To_4_30_2022_30TDhKaaCE-W2jx2hHd2tQ"
      decimals="2"
      id="Narr_MtsT5Z6DJU6fh0CXoDdI5w"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.25</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_5_1_2022_To_7_31_2022_F97vAHt2cE2stAX7PqauuA"
      decimals="2"
      id="Narr_ZhSX-6Ze50Wy3CoCHaEKgw"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.25</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="2"
      id="Narr_BXB_1L7_u0mhtd10KA9fAw"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">0.25</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="INF"
      id="Narr_nFvu6ooXmE687HHwBcZzpA"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">212441</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="INF"
      id="Narr_-mFfAOzKwkWsX7BMbj-imQ"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">1721015</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:SharePrice
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="2"
      id="Narr__vDZFd_bCEmRIfSftiEjSg"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">39.67</us-gaap:SharePrice>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-5"
      id="Narr_W-UJK9TRzUSxLKnnaQ7X4g"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">63300000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:SharePrice
      contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw"
      decimals="2"
      id="Narr_zx2lhgGEX0KmBiORI6xWBw"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">36.75</us-gaap:SharePrice>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="INF"
      id="Narr_mZp1c1F9p0mkkMweKOoEFg"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">29058</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <agx:ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="2"
      id="Narr_tf_bM3PbLUWSInsC3sXoMw"
      unitRef="Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA">47.16</agx:ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation>
    <agx:TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="INF"
      id="Narr_U_rCODK8C0KSHz2OTXhH5A"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">132656</agx:TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards>
    <agx:TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="INF"
      id="Narr_3QpuKRcvHUy0Unjcx6emEA"
      unitRef="Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ">0</agx:TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards>
    <us-gaap:ConcentrationRiskDisclosureTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_WAaVnh33sEy5yn82_1MTgA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;NOTE 13 &#x2013; CUSTOMER CONCENTRATIONS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The majority of the Company&#x2019;s consolidated revenues relate to performance by the power industry services segment which provided 74% and 77% of consolidated revenues for the three months ended October 31, 2023 and 2022, respectively, and 73% and 76% of consolidated revenues for the nine months ended October 31, 2023 and 2022, respectively. The industrial construction services segment represented 23% and 19% of consolidated revenues for the three months ended October 31, 2023 and 2022, respectively, and 25% and 20% of consolidated revenues for the nine months ended October 31, 2023 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;The Company&#x2019;s most significant customer relationships for the three months ended October 31, 2023 included three power industry service customers, which accounted for 23%, 20%, and 17% of consolidated revenues. The Company&#x2019;s most significant customer relationships for the three months ended October 31, 2022 included four power industry service customers, which accounted for 33%, 12%, 12% and 12% of consolidated revenues.&#160;The Company&#x2019;s most significant customer relationships for the nine months ended October 31, 2023 included three power industry service customers, which &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;accounted for 19%, 17% and 14% of consolidated revenues.&#160;The Company&#x2019;s most significant customer relationship for the nine months ended October 31, 2022 included one power industry service customer, which accounted for 42% of consolidated revenues.&#160; &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;The accounts receivable balances from two major customers represented 42% and 14% of the corresponding consolidated balance as of October 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 associated with two major customers represented 30% and 14% of the corresponding consolidated balance as of October 31, 2023. The contract asset balance associated with one major customer represented 70% of the corresponding consolidated balance as of January 31, 2023.&lt;/p&gt;</us-gaap:ConcentrationRiskDisclosureTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_TOFJYRCsZ0ax_sPugYpN-g"
      decimals="2"
      id="Narr_Oc6ZmUe0v0e6YEwpTVO9rg"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.74</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_QxaikJocsk-i_XGrAIagMw"
      decimals="2"
      id="Narr_muUmrkLr9UKQ-UUlKQwngg"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.77</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_34MMemZmqUekjfaI-dijoQ"
      decimals="2"
      id="Narr_rwMNtilgiUeuXGv9K69cQA"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.73</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_AXM7UtxXwUCviabcBOhkZA"
      decimals="2"
      id="Narr_2kFaVEA_BUOx1E5KTmwqYw"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.76</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_IndustrialConstructionServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_D9x0R5OFgkWBriGhuA42_Q"
      decimals="2"
      id="Narr_m5hXIR-p10eqBfHKQ3ojTA"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.23</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_IndustrialConstructionServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_b2E3ZdjNoEC8-fBnjJbqBg"
      decimals="2"
      id="Narr_ZvOTkF3GI0ybMc3WFwHTOg"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.19</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_IndustrialConstructionServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_QJv13vgwAEuBb9nY5ofDvA"
      decimals="2"
      id="Narr_ZalH5LaJPk-OCUJKuA1Alg"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.25</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_IndustrialConstructionServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_ProductConcentrationRiskMember_dvCPd1QR10-JJqKAwbT9CQ"
      decimals="2"
      id="Narr_1wTHKsk3IEWOxCwe15E31Q"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.20</us-gaap:ConcentrationRiskPercentage1>
    <agx:NumberOfMajorCustomers
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_PTYeN21aqUSfOconqjq98w"
      decimals="INF"
      id="Narr_sHr8AK5gS06bKBgC4ONC5Q"
      unitRef="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q">3</agx:NumberOfMajorCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_0nodJzMte0WqkEfss4r00w"
      decimals="2"
      id="Narr_Lq7ugwl0IUKBEdPDhBHGqw"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.23</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_qpPZ-64MGUuQRM3WfG1w2w"
      decimals="2"
      id="Narr_DMqZz8T2J0etUGSyHIAprw"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerThreeMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_nnGeiuH5yEqMOv1jy2fH6A"
      decimals="2"
      id="Narr__6WbbCZpLEaOWmbCQHXjaQ"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.17</us-gaap:ConcentrationRiskPercentage1>
    <agx:NumberOfMajorCustomers
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_LqcJtSiDsUCe02J-ydHsUg"
      decimals="INF"
      id="Narr_z59HJO7560mBdI7bibcikQ"
      unitRef="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q">4</agx:NumberOfMajorCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_l3CwrdcD60arabrpdAWx-Q"
      decimals="2"
      id="Narr_MJqiBVMJlEeleYke8i-DWA"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.33</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_TTpPjmyM3UO3bmebx9N5vA"
      decimals="2"
      id="Narr_Oqlb4Tp1n0WK45qjkTeMSQ"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerThreeMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_uA3eSQRV80a1DyYB3jBdtw"
      decimals="2"
      id="Narr_2ZeNQl0UhEiET5Mw0R9c_g"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerFourMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_t6DLlDE3FESEj0IspBJW9w"
      decimals="2"
      id="Narr_eNVvFCXU-Ui2fn-gtogJow"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.12</us-gaap:ConcentrationRiskPercentage1>
    <agx:NumberOfMajorCustomers
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_QFXkOZwmR0Ct1C_VD7cQWA"
      decimals="INF"
      id="Narr_4p0Put_Z40WN9TkHknIoZA"
      unitRef="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q">3</agx:NumberOfMajorCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_DmW3_yXD0keQKcgPUINcBQ"
      decimals="2"
      id="Narr_A0hxvbwmU0C0XIcaE5oSiA"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.19</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_QVmQjWGAQEiyJ4EmIsGrBA"
      decimals="2"
      id="Narr_bKIi1VWVk02KtpWNKTuFeQ"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerThreeMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_SC_qCYgMM0GHECWZidS6XQ"
      decimals="2"
      id="Narr__DArAZGrUka93Kymx3lzuw"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.14</us-gaap:ConcentrationRiskPercentage1>
    <agx:NumberOfMajorCustomers
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_hWwH3jPQpUCOQVKtkR5_mg"
      decimals="INF"
      id="Narr_J08OMymOXEa2Hb_pR0_aiA"
      unitRef="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q">1</agx:NumberOfMajorCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_srt_ProductOrServiceAxis_agx_PowerIndustryServicesMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_bbnTfRbF5kSzfnhw2dFrmw"
      decimals="2"
      id="Narr_I9OirQcJy0GvWZGOSHppMg"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.42</us-gaap:ConcentrationRiskPercentage1>
    <agx:NumberOfMajorCustomers
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_RP1OztK-wUmMTaKrIv5ODg"
      decimals="INF"
      id="Narr_uHmznET6-Ui3ntp_rA5_eg"
      unitRef="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q">2</agx:NumberOfMajorCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_6FBvwBXLfESPvY3_xEm4Vw"
      decimals="2"
      id="Narr_s5Y3P5-82kyFjjSSz2z2HA"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.42</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_4cvGZp4InUWJMSxOfwdemQ"
      decimals="2"
      id="Narr_Fwn6xHIV70a2_9UthSbw3A"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.14</us-gaap:ConcentrationRiskPercentage1>
    <agx:NumberOfMajorCustomers
      contextRef="Duration_2_1_2022_To_1_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_s0-8b4_Lnkiyzwq89IUHGQ"
      decimals="INF"
      id="Narr_1yU11yXvy0ChPuXDZctgEw"
      unitRef="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q">3</agx:NumberOfMajorCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_2_1_2022_To_1_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember__sNLvg0oFEaJifoWDz25Fw"
      decimals="2"
      id="Narr_5kg3BhTuvkOJgrCOEjYxKw"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.36</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_2_1_2022_To_1_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Bgq30WwKoEyVLQ_Hnc7qqQ"
      decimals="2"
      id="Narr_Owm1cGWFKkqcLKft9vPHAA"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_2_1_2022_To_1_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_zM_W8tsz80a6ZzIXW6pUFw"
      decimals="2"
      id="Narr_w9F4I1oo50am4n7drPtuOQ"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.12</us-gaap:ConcentrationRiskPercentage1>
    <agx:NumberOfMajorCustomers
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember__R95hML_HEmhwl3v-VzLMw"
      decimals="INF"
      id="Narr_LVEwci0-sUSiRrC79i5yrA"
      unitRef="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q">2</agx:NumberOfMajorCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_9Tpyr7w9JEqm9CmnGIYCeg"
      decimals="2"
      id="Narr_21dFcj3GK0eIByUXh4ieVQ"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.30</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_4jyQyBOKOkWkJmXxlAMDYQ"
      decimals="2"
      id="Narr_5uEptKh_H0STG4GFt-JmzA"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.14</us-gaap:ConcentrationRiskPercentage1>
    <agx:NumberOfMajorCustomers
      contextRef="Duration_2_1_2022_To_1_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_mfZeUc6bWE6JSCid6sOu9w"
      decimals="INF"
      id="Narr_FhB-v3PrwUSG2whoZ9aK9g"
      unitRef="Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q">1</agx:NumberOfMajorCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_2_1_2022_To_1_31_2023_srt_MajorCustomersAxis_agx_MajorCustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AssetsTotalMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_IPLz1CzhQEmHfD8E0Mm2Cg"
      decimals="2"
      id="Narr_amuiwW6R4EKW6XvKE6fpFA"
      unitRef="Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A">0.70</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_5ppnwzbknEKc_bF1AFpilw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;NOTE 14 &#x2013; SEGMENT REPORTING &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;Segments represent components of an enterprise for which discrete financial information is available that is evaluated regularly by the Company&#x2019;s chief executive officer, who is the chief operating decision maker, in determining how to allocate resources and in assessing performance. The Company&#x2019;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. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;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 nine months ended October 31, 2023 and 2022, intersegment revenues were not material.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 8pt 0pt;"&gt;Summarized below are certain operating results and financial position data of the Company&#x2019;s reportable business segments for the three and nine months ended October 31, 2023 and 2022. The &#x201c;Other&#x201d; column in each summary includes the Company&#x2019;s corporate expenses.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Power&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Industrial&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Telecom&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Totals&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  121,300&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  38,434&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  4,021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  163,755&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  107,781&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  33,899&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,840&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  144,520&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  13,519&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  4,535&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  19,235&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Selling, general and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,390&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,626&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  608&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,751&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  11,375&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income (loss) from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  7,129&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,909&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  573&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (2,751)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  7,860&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Other income, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  3,391&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  342&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  3,733&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income (loss) before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  10,520&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,909&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  573&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (2,409)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  11,593&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,129&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  5,464&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Amortization of intangibles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  98&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  98&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  137&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  249&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  102&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  489&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Property, plant and equipment additions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  583&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  497&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  31&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,112&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  399,489&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  39,843&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  3,701&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  71,038&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  514,071&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  244,662&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  25,839&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,801&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,592&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  273,894&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Goodwill&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  18,476&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  9,467&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  90&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  28,033&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  426,466&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  57,112&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,519&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  73,555&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  563,652&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Power&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Industrial&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Telecom&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Totals&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  90,682&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  22,137&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  5,056&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  117,875&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  72,725&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  18,737&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  4,205&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  95,667&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  17,957&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  3,400&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  851&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  22,208&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Selling, general and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,745&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,823&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  796&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  3,303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  12,667&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income (loss) from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  11,212&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  55&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (3,303)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  9,541&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Other income, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  592&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  176&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  768&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income (loss) before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  11,804&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  55&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (3,127)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  10,309&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,551&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  7,758&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Amortization of intangibles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  166&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  46&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  212&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  142&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  501&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  96&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  740&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Property, plant and equipment additions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  774&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  928&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  238&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,944&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  237,575&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  31,355&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  4,076&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  91,959&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  364,965&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  110,383&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  21,560&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,420&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,179&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  134,542&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Goodwill&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  18,476&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  9,467&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  90&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  28,033&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Total assets &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  261,994&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  48,766&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  7,434&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  92,709&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  410,903&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;span style="margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Nine Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Power&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Industrial&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Telecom&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Totals&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  296,821&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  101,497&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  10,461&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  408,779&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  255,210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  88,537&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  7,831&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  351,578&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  41,611&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  12,960&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,630&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  57,201&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Selling, general and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  17,700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  4,532&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,038&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  8,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  32,467&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income (loss) from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  23,911&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  8,428&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  592&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (8,197)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  24,734&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Other income (loss), net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  9,088&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (1,863)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  7,222&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income (loss) before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  32,999&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  8,428&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  589&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (10,060)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  31,956&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  11,616&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  20,340&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Amortization of intangibles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  294&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  294&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  393&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  813&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  315&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,524&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Property, plant and equipment additions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  973&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  49&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,143&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;span style="margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Nine Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Power&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Industrial&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Telecom&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Totals&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  255,958&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  67,660&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  12,644&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  336,262&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  202,985&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  56,968&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  9,976&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  269,929&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  52,973&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  10,692&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,668&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  66,333&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Selling, general and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  18,418&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  5,267&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,369&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  8,172&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  34,226&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income (loss) from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  34,555&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  5,425&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  299&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (8,172)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  32,107&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Other income, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,613&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  254&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,868&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income (loss) before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  36,168&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  5,425&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  300&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (7,918)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  33,975&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  14,510&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  19,465&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Amortization of intangibles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  497&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  114&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  611&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  422&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,553&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  318&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,296&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Property, plant and equipment additions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  868&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,415&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  295&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,582&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="INF"
      id="Narr_I_12Q2mqyk2hhFGka_mnrw"
      unitRef="Unit_Standard_segment_Qf-wPLAT-Uq_WKTfPWnY7g">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Group_vK4Nxgg6_k6OU2YE_xRiJQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Power&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Industrial&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Telecom&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Totals&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  121,300&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  38,434&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  4,021&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  163,755&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  107,781&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  33,899&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,840&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  144,520&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  13,519&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  4,535&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,181&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  19,235&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Selling, general and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,390&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,626&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  608&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,751&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  11,375&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income (loss) from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  7,129&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,909&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  573&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (2,751)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  7,860&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Other income, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  3,391&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  342&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  3,733&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income (loss) before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  10,520&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,909&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  573&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (2,409)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  11,593&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,129&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  5,464&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Amortization of intangibles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  98&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  98&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  137&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  249&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  102&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  489&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Property, plant and equipment additions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  583&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  497&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  31&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,112&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  399,489&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  39,843&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  3,701&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  71,038&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  514,071&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  244,662&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  25,839&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,801&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,592&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  273,894&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Goodwill&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  18,476&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  9,467&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  90&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  28,033&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  426,466&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  57,112&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,519&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  73,555&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  563,652&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Power&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Industrial&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Telecom&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Totals&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  90,682&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  22,137&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  5,056&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  117,875&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  72,725&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  18,737&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  4,205&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  95,667&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  17,957&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  3,400&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  851&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  22,208&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Selling, general and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,745&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,823&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  796&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  3,303&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  12,667&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income (loss) from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  11,212&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  55&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (3,303)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  9,541&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Other income, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  592&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  176&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  768&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income (loss) before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  11,804&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,577&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  55&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (3,127)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  10,309&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,551&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  7,758&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Amortization of intangibles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  166&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  46&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  212&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  142&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  501&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  96&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  740&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Property, plant and equipment additions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  774&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  928&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  238&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,944&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  237,575&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  31,355&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  4,076&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  91,959&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  364,965&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  110,383&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  21,560&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,420&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,179&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  134,542&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Goodwill&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  18,476&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  9,467&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  90&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  28,033&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Total assets &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  261,994&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  48,766&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  7,434&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  92,709&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  410,903&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;span style="margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Nine Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Power&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Industrial&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Telecom&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Totals&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  296,821&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  101,497&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  10,461&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  408,779&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  255,210&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  88,537&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  7,831&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  351,578&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  41,611&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  12,960&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,630&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  57,201&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Selling, general and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  17,700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  4,532&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,038&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  8,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  32,467&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income (loss) from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  23,911&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  8,428&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  592&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (8,197)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  24,734&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Other income (loss), net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  9,088&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (1,863)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  7,222&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income (loss) before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  32,999&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  8,428&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  589&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (10,060)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  31,956&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  11,616&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  20,340&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Amortization of intangibles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  294&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  294&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  393&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  813&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  315&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,524&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:43.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Property, plant and equipment additions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,120&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  973&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  49&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,143&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 8pt 0pt;"&gt;&lt;span style="margin-bottom:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Nine Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Power&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Industrial&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Telecom&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Services&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Totals&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  255,958&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  67,660&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  12,644&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  336,262&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  202,985&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  56,968&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  9,976&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  269,929&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  52,973&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  10,692&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,668&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  66,333&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Selling, general and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  18,418&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  5,267&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,369&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  8,172&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  34,226&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income (loss) from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  34,555&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  5,425&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  299&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (8,172)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  32,107&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Other income, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,613&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  254&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,868&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income (loss) before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  36,168&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  5,425&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  300&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"&gt; (7,918)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  33,975&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  14,510&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  19,465&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Amortization of intangibles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  497&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  114&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  611&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  422&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,553&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  318&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,296&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:43.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Property, plant and equipment additions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  868&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,415&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  295&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  2,582&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw"
      decimals="-3"
      id="Tc_xGNOltjIZ02YtZEbZ14MfQ_3_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">121300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ"
      decimals="-3"
      id="Tc_4wBH9aHj0EySvn3FATHVjg_3_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">38434000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g"
      decimals="-3"
      id="Tc_mnJJ81oTDUm0CtvJYyWI2A_3_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">4021000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_D554_YPPS0-SgbkHL65arQ_3_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">163755000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw"
      decimals="-3"
      id="Tc_qOO1oIdAFUO4nIm0Fkd7-w_4_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">107781000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ"
      decimals="-3"
      id="Tc_RDqiblwjoE6cU_31lS_puw_4_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">33899000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g"
      decimals="-3"
      id="Tc_uPyjqs2gt0GgTW1aprBNcg_4_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2840000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_aPRG-iYrjkietFAYbdOmrA_4_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">144520000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw"
      decimals="-3"
      id="Tc_vn42uK_eZEybMuSVbxmt8Q_5_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">13519000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ"
      decimals="-3"
      id="Tc_z9dCzziU8UKrbfLoFY3akA_5_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">4535000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g"
      decimals="-3"
      id="Tc_tSTYorzj5Ea_FF2dA1GBfw_5_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1181000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_3FKW6J9ZY0COBr1UrsxL4Q_5_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">19235000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw"
      decimals="-3"
      id="Tc_p7T-FkbP3Uy5jI93bpYmTQ_6_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6390000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ"
      decimals="-3"
      id="Tc_-jdzpssPy06RJYxzQzPJdw_6_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1626000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g"
      decimals="-3"
      id="Tc_EL8EKSY8Fk2KyACgPmt6aw_6_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">608000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_2gQcgtAOAU2tLT818DbZLg"
      decimals="-3"
      id="Tc_MZv6k7kj5UKm3Bc3VDaUwQ_6_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2751000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_Eltpr-0j0U-8-WCa_buAiA_6_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">11375000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw"
      decimals="-3"
      id="Tc_WPHoYCChwkWHAqj45H8PEg_7_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">7129000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ"
      decimals="-3"
      id="Tc_uBfbvzx5_ku1e75zhhDQjw_7_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2909000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g"
      decimals="-3"
      id="Tc_Gz9LDv9LpkKAtHhW2Qn7FA_7_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">573000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_2gQcgtAOAU2tLT818DbZLg"
      decimals="-3"
      id="Tc_81ANIJbPFUilR2Lq4x8sCw_7_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-2751000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_ilCvcfUV4EWdDilwijsyoQ_7_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">7860000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw"
      decimals="-3"
      id="Tc_Y0zejvQeMkOLUWk2t-PiuA_8_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3391000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_2gQcgtAOAU2tLT818DbZLg"
      decimals="-3"
      id="Tc_Ji8GnSoHuUW7yyBLOLllHQ_8_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">342000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_2R_o8tCjMkKftZUfh4dccA_8_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3733000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw"
      decimals="-3"
      id="Tc_lQnExz9lc0mZwQ-Ndp4wKQ_9_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10520000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ"
      decimals="-3"
      id="Tc_tyN01To0pEe3B2yN9g6yuw_9_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2909000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g"
      decimals="-3"
      id="Tc_zqp-OTkjd0CvpZBXNlcc2Q_9_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">573000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_2gQcgtAOAU2tLT818DbZLg"
      decimals="-3"
      id="Tc_hJ1D2UZ7qEyzLTPFczjacA_9_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-2409000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_c7bHj5qwL0ag9u3gV1pPFg_9_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">11593000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_frz27QzeX0qW1o0pDIqrCQ_10_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6129000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_qS2sZuCNr0qApwUYGoKuvw_11_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">5464000</us-gaap:ProfitLoss>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ"
      decimals="-3"
      id="Tc_cArG0mTc60i25mo4sKktcg_13_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">98000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_ipGr0E-BuUqDDzr9F8lRqQ_13_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">98000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:Depreciation
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw"
      decimals="-3"
      id="Tc_GbHW1JU0t0SBo6d3zLnSrw_14_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">137000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ"
      decimals="-3"
      id="Tc_nrsLpkm6TUOzv-e-vF2iPQ_14_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">249000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g"
      decimals="-3"
      id="Tc_YcGXHjB6rUOO6jFq0_9C_g_14_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">102000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_2gQcgtAOAU2tLT818DbZLg"
      decimals="-3"
      id="Tc_QtpBnk9cHECKZzjrDooLlA_14_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_fMUJGBLyO0yIdd9BCYYNHg_14_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">489000</us-gaap:Depreciation>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_KsXi6X_E3E2yccxz-N5saw"
      decimals="-3"
      id="Tc_rfqBZ6DOc067Dcarmloo8A_15_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">583000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_kfTSHqpuf0631eFELdLCNQ"
      decimals="-3"
      id="Tc_-dXXqQ-U6EOWp_SURgMMog_15_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">497000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_GzWKlW9wq0u7UUhje9NT4g"
      decimals="-3"
      id="Tc_mSVqIlJXX02zz66MHOXH7Q_15_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">31000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_8_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_2gQcgtAOAU2tLT818DbZLg"
      decimals="-3"
      id="Tc_q1Dp8AviUEqazjClK2BW_Q_15_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      decimals="-3"
      id="Tc_UuHF7YxOx0eLZMdMm-gAsw_15_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1112000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_C7iIItZ2K0SkA10qUMh2-g"
      decimals="-3"
      id="Tc_JdG6ECYNOECLxOI0XUka0A_17_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">399489000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_joXSAgZ9hkqwVMYk9JYtXg"
      decimals="-3"
      id="Tc_hOjFQSMGxUGirleFM63xnw_17_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">39843000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_4AE0uNKkakG4Sj9kA1BTKg"
      decimals="-3"
      id="Tc_C6ZCD5OxBkexG-_HLWr5Sg_17_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3701000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_SY7C-1jRW06vsOLX3_3ZaA"
      decimals="-3"
      id="Tc_NAzBF1dfP0-JoCzfR0T_xA_17_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">71038000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_NSoS0nvAkkSEypwR5K2kvw_17_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">514071000</us-gaap:AssetsCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_C7iIItZ2K0SkA10qUMh2-g"
      decimals="-3"
      id="Tc_a9dvuOMeSE6Xo3u6y9G21w_18_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">244662000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_joXSAgZ9hkqwVMYk9JYtXg"
      decimals="-3"
      id="Tc_1EN-V6i3JE2pjEbZgZvKHA_18_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">25839000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_4AE0uNKkakG4Sj9kA1BTKg"
      decimals="-3"
      id="Tc_QlgDYJLCHU-T7Pd9Kv1IUQ_18_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1801000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_SY7C-1jRW06vsOLX3_3ZaA"
      decimals="-3"
      id="Tc_Nqd3D4jZpUyQ9jIXj6mRpQ_18_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1592000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_XipPlJV-uEuwMm8YzmJHlQ_18_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">273894000</us-gaap:LiabilitiesCurrent>
    <us-gaap:Goodwill
      contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_C7iIItZ2K0SkA10qUMh2-g"
      decimals="-3"
      id="Tc_4lOCE8dy2U6DyEn_63FjnQ_19_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">18476000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_joXSAgZ9hkqwVMYk9JYtXg"
      decimals="-3"
      id="Tc_D6oSMQrUrkaL3_kLwCeh9w_19_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">9467000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_4AE0uNKkakG4Sj9kA1BTKg"
      decimals="-3"
      id="Tc_UjgnoFaYBEGKon23Whpg7g_19_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">90000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_P1mQvh6tr02SEz8i42IDnw_19_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">28033000</us-gaap:Goodwill>
    <us-gaap:Assets
      contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_C7iIItZ2K0SkA10qUMh2-g"
      decimals="-3"
      id="Tc_IH6cNX356kSz2TBRWzZTmA_20_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">426466000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_joXSAgZ9hkqwVMYk9JYtXg"
      decimals="-3"
      id="Tc_kUbP_y6pIkKc1bL7bcUscw_20_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">57112000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_4AE0uNKkakG4Sj9kA1BTKg"
      decimals="-3"
      id="Tc_66FOyFlyQkKe2Cij3lfJbg_20_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6519000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_SY7C-1jRW06vsOLX3_3ZaA"
      decimals="-3"
      id="Tc_sfgwOhyT_U6a20X9wsClOQ_20_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">73555000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_870mI6NQmkOhDG3JLPPraA_20_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">563652000</us-gaap:Assets>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA"
      decimals="-3"
      id="Tc_ymVXHY-ngkCGyPjyCrlO4g_3_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">90682000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w"
      decimals="-3"
      id="Tc_wg9j2zRaRkKdB3RImth3Lw_3_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">22137000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg"
      decimals="-3"
      id="Tc_c2Y7IerNPkqhJLniAVBGdA_3_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">5056000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_k5t5J1xj8EO2JPxEfUHRKg_3_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">117875000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA"
      decimals="-3"
      id="Tc_diu6BKEnXkGMsdAiucp43Q_4_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">72725000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w"
      decimals="-3"
      id="Tc_DcAZlOsFQE2kdbPOPBCfrw_4_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">18737000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg"
      decimals="-3"
      id="Tc_F1oaKcR-cU6o7-LMyrM3Pw_4_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">4205000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_GP1g68EcjEGkNrNaXxCOiw_4_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">95667000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA"
      decimals="-3"
      id="Tc_UJdvxhb_FE6sLtpfNrDlsg_5_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">17957000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w"
      decimals="-3"
      id="Tc_7Fb3t_PonU-cU5S73ND89g_5_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3400000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg"
      decimals="-3"
      id="Tc_fHfIg1zRsEKjCUfXQmrnkg_5_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">851000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_ejBgOgE3kky1BajkAOfIPA_5_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">22208000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA"
      decimals="-3"
      id="Tc_3BQevPeRCken_NlqUJAu7Q_6_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6745000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w"
      decimals="-3"
      id="Tc_0Eko0gL1akqmpn9rCnTzcw_6_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1823000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg"
      decimals="-3"
      id="Tc_FzCy3LnsYESB-3v0FMFfUw_6_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">796000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_qFGQqrhQ90mtJgXd2fI7Rw"
      decimals="-3"
      id="Tc_yyyw8Vtc1Emw2wrsHi4h4Q_6_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3303000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_jFw4PXrOWUahEbu_jylE3g_6_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">12667000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA"
      decimals="-3"
      id="Tc_WkipQaJ-gUGhFfrYaBqgRw_7_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">11212000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w"
      decimals="-3"
      id="Tc_c65jaIXZ60-emfhWsAFwAw_7_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1577000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg"
      decimals="-3"
      id="Tc_zHQg51qyg0ms1vSFahqeDQ_7_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">55000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_qFGQqrhQ90mtJgXd2fI7Rw"
      decimals="-3"
      id="Tc_jpzuO6EguEujvV2XAZUtsA_7_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-3303000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_qv9RpUm4sUm0B40GQ_NPXg_7_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">9541000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA"
      decimals="-3"
      id="Tc_hbLLPJV9s0-ehFXwWjBE9Q_8_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">592000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_qFGQqrhQ90mtJgXd2fI7Rw"
      decimals="-3"
      id="Tc_XBvRkUfBPUKkJlouhiFDHg_8_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">176000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_FYtjACQIfU6HcjTKRoOR3Q_8_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">768000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA"
      decimals="-3"
      id="Tc_juMBdA3tOkOz97qESMQaDg_9_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">11804000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w"
      decimals="-3"
      id="Tc_w2IBnFGV30aoXo5Rg0XiZg_9_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1577000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg"
      decimals="-3"
      id="Tc_Vl4qJrIc9UOspfbP3PBioA_9_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">55000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_qFGQqrhQ90mtJgXd2fI7Rw"
      decimals="-3"
      id="Tc_w_sxJU8JuUS-WNlcnPdrRA_9_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-3127000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_RsZUXUkBrEe-a4iEY_3I1g_9_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10309000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_KSuevhOwVkWhd8RV5wxhZw_10_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2551000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_fDtkr8NGa0Kbx7pdymozjQ_11_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">7758000</us-gaap:ProfitLoss>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w"
      decimals="-3"
      id="Tc_lni-qXGBMUaQpeeQlHKL_A_13_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">166000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg"
      decimals="-3"
      id="Tc_jsw9k9eVZkm5KaiycWA40g_13_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">46000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_928ASjkNTESZU8LNjGZrow_13_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">212000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:Depreciation
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA"
      decimals="-3"
      id="Tc_GkjZ2Fj-H0Kix3Fy-nyYOw_14_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">142000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w"
      decimals="-3"
      id="Tc_ZGpRzxBd7EWToDCMXZrnjQ_14_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">501000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg"
      decimals="-3"
      id="Tc_q1uOWCVZcEW8M5v__oOShQ_14_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">96000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_qFGQqrhQ90mtJgXd2fI7Rw"
      decimals="-3"
      id="Tc_HKUmj3fXZk2dF9JY8pQoEw_14_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_HASaFseqh0CNdTlbACXfVg_14_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">740000</us-gaap:Depreciation>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_PxL22uk_xkakZdb8CuB_cA"
      decimals="-3"
      id="Tc_OxjQShTHNE6zZpq6rw58xg_15_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">774000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_jXl9ENq_L0S46H3dF5jO0w"
      decimals="-3"
      id="Tc_Am2-lIP7RE6RjOZah9Ghww_15_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">928000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_ffauq8hP1EqPjcEK6r3zWg"
      decimals="-3"
      id="Tc_yWiFT_eSJEWSRanxSbjajQ_15_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">238000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_8_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_qFGQqrhQ90mtJgXd2fI7Rw"
      decimals="-3"
      id="Tc_E-K_X7jneU6vLn612nAtcg_15_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">4000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_8_1_2022_To_10_31_2022_uEvyvqDvikW443-eRL9Qtw"
      decimals="-3"
      id="Tc_Op5a0Jeuqk2J8pCTZGnAkA_15_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1944000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Ne7C0d2hAUqp12hEB0RXhw"
      decimals="-3"
      id="Tc_NKW3XAhEFkWEdBbJX9fbDA_17_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">237575000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_g6tNsTHOZ0Kgn9AXhoZDyw"
      decimals="-3"
      id="Tc_jOtUQAIn2kmxn_Pdm5isKg_17_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">31355000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_yCSEoP9M-EapQq-dnwWWTg"
      decimals="-3"
      id="Tc_68LzOeKMfUGZCbxNFSfcNQ_17_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">4076000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_Eo_94pCbHE2BEsUFrvUz2g"
      decimals="-3"
      id="Tc_II1tMCAQxU2ltwUn3aA36Q_17_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">91959000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw"
      decimals="-3"
      id="Tc_Xr4qrdz4hU2JQu-HZ-Dl1A_17_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">364965000</us-gaap:AssetsCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Ne7C0d2hAUqp12hEB0RXhw"
      decimals="-3"
      id="Tc_i7OV_Imm3kq7yDHxiPaCtw_18_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">110383000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_g6tNsTHOZ0Kgn9AXhoZDyw"
      decimals="-3"
      id="Tc_8AYep8op7U2YDMa8gKqjjw_18_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">21560000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_yCSEoP9M-EapQq-dnwWWTg"
      decimals="-3"
      id="Tc_fFAPwYcC1Ui1YgVbAkM3Ig_18_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1420000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_Eo_94pCbHE2BEsUFrvUz2g"
      decimals="-3"
      id="Tc_itoEGGMYTUSTEY7EIP-AUQ_18_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1179000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw"
      decimals="-3"
      id="Tc_SZJ3S25K20yAwgN1H1A-NQ_18_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">134542000</us-gaap:LiabilitiesCurrent>
    <us-gaap:Goodwill
      contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Ne7C0d2hAUqp12hEB0RXhw"
      decimals="-3"
      id="Tc_BGV-SXQYtUGiIVJpFTZOGA_19_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">18476000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_g6tNsTHOZ0Kgn9AXhoZDyw"
      decimals="-3"
      id="Tc_upq8OBAe30KRAKiMXuJXGQ_19_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">9467000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_yCSEoP9M-EapQq-dnwWWTg"
      decimals="-3"
      id="Tc_GxKKOCIpiUqo2XqQn0CXkQ_19_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">90000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw"
      decimals="-3"
      id="Tc_obUP2Vk3s0Wl9btwMbHRBA_19_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">28033000</us-gaap:Goodwill>
    <us-gaap:Assets
      contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Ne7C0d2hAUqp12hEB0RXhw"
      decimals="-3"
      id="Tc_5LVwIOVth0-XFRqrQRuWLQ_20_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">261994000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_g6tNsTHOZ0Kgn9AXhoZDyw"
      decimals="-3"
      id="Tc_bQ7GQGvd0kGutN4Ay0FDWQ_20_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">48766000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_yCSEoP9M-EapQq-dnwWWTg"
      decimals="-3"
      id="Tc_4hBbESLqwEGK8nmoYR_1Vg_20_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">7434000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_Eo_94pCbHE2BEsUFrvUz2g"
      decimals="-3"
      id="Tc_c4w7_zIZV02oSByDfIOaMw_20_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">92709000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_10_31_2022_Nqr924mOv06dSny-gpMLhw"
      decimals="-3"
      id="Tc_LTYGHjgo5U6xT8zJkI5cWw_20_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">410903000</us-gaap:Assets>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw"
      decimals="-3"
      id="Tc_2Jn1fv-OOESWJrhDA23s1g_3_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">296821000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw"
      decimals="-3"
      id="Tc_xuN02zHq4kubhKPF5S-sVQ_3_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">101497000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw"
      decimals="-3"
      id="Tc_GUIGRi_K8UKYGqnRjfkO-g_3_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10461000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_mh0EB7R1TEWQMb8849J3AA_3_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">408779000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw"
      decimals="-3"
      id="Tc_-olik3n7WkKWbydI9BnwnQ_4_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">255210000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw"
      decimals="-3"
      id="Tc_5ss6aCVKmk2dtmduWAISDQ_4_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">88537000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw"
      decimals="-3"
      id="Tc_fKV-PiQ-8E2AbfcqnhHEug_4_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">7831000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_RD1s77oS90CAU93LK1-jUg_4_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">351578000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw"
      decimals="-3"
      id="Tc_mPTV1JaTTESgxFA62JtTOw_5_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">41611000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw"
      decimals="-3"
      id="Tc_dzSpGnBH-0yGGy0E30Le-w_5_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">12960000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw"
      decimals="-3"
      id="Tc_lAjyjWSZtkW0wOZ4V7ZacA_5_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2630000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_WOHltfII3UOx6UE_tz_aNw_5_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">57201000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw"
      decimals="-3"
      id="Tc_mzokadtubEGtIetMgKYu_w_6_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">17700000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw"
      decimals="-3"
      id="Tc_SxmhCZAzjk6Ole9WEGUd9w_6_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">4532000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw"
      decimals="-3"
      id="Tc_6KLNkfKhMEuLHMFGrV3tTQ_6_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2038000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_k5H1fVH6TEiPuox9CDHJDg"
      decimals="-3"
      id="Tc_TjLjb2bDHUyEMQeQcbNnRQ_6_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">8197000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_sHmYt_H2yEGChGiiTN5IXg_6_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">32467000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw"
      decimals="-3"
      id="Tc_FL-5RnEPrEutxw3hh-D5Zg_7_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">23911000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw"
      decimals="-3"
      id="Tc_r8I16dk8A0GlVh2JkVsuCA_7_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">8428000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw"
      decimals="-3"
      id="Tc_dIxWooJxJU2Dsxk6Qv6BKA_7_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">592000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_k5H1fVH6TEiPuox9CDHJDg"
      decimals="-3"
      id="Tc_piqL2IBWhESeVC8A9CTgqA_7_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-8197000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_46ofzwaZQ0-kOFLReex0rg_7_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">24734000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw"
      decimals="-3"
      id="Tc_3G6lzsi_i02jcJYUDEK6LA_8_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">9088000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw"
      decimals="-3"
      id="Tc_cbcyXoUpsUqfFrufdikAsg_8_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-3000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_k5H1fVH6TEiPuox9CDHJDg"
      decimals="-3"
      id="Tc_BN2zLQtQRkioOHOhNoJZYA_8_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-1863000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc__3BtT2S-VESJN40QvOWcGw_8_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">7222000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw"
      decimals="-3"
      id="Tc_vi8ya7g3AE6Ge2PeoybIlw_9_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">32999000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw"
      decimals="-3"
      id="Tc_K3fOv9XgG06TlKBl3jfhHA_9_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">8428000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw"
      decimals="-3"
      id="Tc_MuxcUhW3AEmUj-cb7WbcZQ_9_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">589000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_k5H1fVH6TEiPuox9CDHJDg"
      decimals="-3"
      id="Tc_1P7RTzJdDk2ydiLXW6VDeg_9_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-10060000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_ZqzDmWFkDEqOch8vCpVNHg_9_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">31956000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_Yhu1DZ7ZjUOAL8RuIaIEVA_10_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">11616000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_XyQHCmxcBE-FcnSJz1JVJQ_11_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">20340000</us-gaap:ProfitLoss>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw"
      decimals="-3"
      id="Tc_FM6gd9C8XUi1TdJigEso-w_13_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">294000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_d5Pz4iaWz0qWfJk8SllOZQ_13_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">294000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:Depreciation
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw"
      decimals="-3"
      id="Tc_CEVS_jGtpkW9QT-WCPE4lQ_14_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">393000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw"
      decimals="-3"
      id="Tc_VlK9_uHTcEKYQsglLR84-Q_14_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">813000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw"
      decimals="-3"
      id="Tc_2KjRBYnhP0WA-ajNNWCA0w_14_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">315000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_k5H1fVH6TEiPuox9CDHJDg"
      decimals="-3"
      id="Tc_R_3Nwk-oikS6bGKw0jXC2Q_14_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_YTj3W2kjG0acfv_n1YjjzQ_14_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1524000</us-gaap:Depreciation>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_Jq3G4rBeNEeMHU8SeRg6Zw"
      decimals="-3"
      id="Tc_LlAq5n2EVkC6w-lliY5TDQ_15_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1120000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_XBkJ-8IsukK5yDjP1ZCudw"
      decimals="-3"
      id="Tc_ZeQmS2ma90SSb2JJUPs-Jg_15_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">973000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_QnuuzQtsGEixj8iAQVhLMw"
      decimals="-3"
      id="Tc_3g20IzSXKkeu4YJyeEyKIA_15_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">49000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_2_1_2023_To_10_31_2023_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_k5H1fVH6TEiPuox9CDHJDg"
      decimals="-3"
      id="Tc_OcF3wnyeaki_7-PZETHw1A_15_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      decimals="-3"
      id="Tc_gnr_sK8SdEmXCsQSQAEjVQ_15_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2143000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA"
      decimals="-3"
      id="Tc_s_odw-FpV0ucaU9j4PNN6A_3_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">255958000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg"
      decimals="-3"
      id="Tc_bd7-NYVBME2dAfCPB7W5kg_3_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">67660000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg"
      decimals="-3"
      id="Tc_jXj8b29Pj0K32ngGVdWwoQ_3_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">12644000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_BcHQ5QjM3kSBn3nCIiuDzQ_3_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">336262000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA"
      decimals="-3"
      id="Tc_H-kFhVKJF0mi2LzLrZuWZg_4_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">202985000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg"
      decimals="-3"
      id="Tc_5dDzxGx26kK5H0WPzHxOqw_4_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">56968000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg"
      decimals="-3"
      id="Tc_qCasfodRbUS3yeWNaditmg_4_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">9976000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_T25g6POEBEaG9ON38JXavg_4_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">269929000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA"
      decimals="-3"
      id="Tc_GViIMJzS-0mUUtPVky0dXw_5_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">52973000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg"
      decimals="-3"
      id="Tc_BFCMyPpS_kWq5nwKQ3EYuw_5_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">10692000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg"
      decimals="-3"
      id="Tc_HeYUnCHZ6kWktU5iVkoLuA_5_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2668000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_soVNvXb1FUmwXzCBmZvoDw_5_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">66333000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA"
      decimals="-3"
      id="Tc_jLXbkZEWdEm178-TJAw06A_6_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">18418000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg"
      decimals="-3"
      id="Tc_NBgjiLlqcUGbbAEOUPrE8w_6_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">5267000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg"
      decimals="-3"
      id="Tc_mUmAzBHZqUKFMyDabcO-Bw_6_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2369000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_LGwCN6dECkSeVEpVwGfKVQ"
      decimals="-3"
      id="Tc_bS7PtZ0KpUW_NEmNyeYkvA_6_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">8172000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_RfsjJABbYk6ViZU1JRTG5Q_6_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">34226000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA"
      decimals="-3"
      id="Tc_kiiKWPWKXkO2YCjlhdfEPA_7_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">34555000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg"
      decimals="-3"
      id="Tc_U7q6zBgNnUGI8SqeEhRANA_7_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">5425000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg"
      decimals="-3"
      id="Tc_ppLolFbPJUS9HkFMQFvivA_7_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">299000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_LGwCN6dECkSeVEpVwGfKVQ"
      decimals="-3"
      id="Tc_8ZF6UEfbaUeYOBzdkkODsg_7_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-8172000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_aZla7JdObEqQNUV-pLFxwg_7_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">32107000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA"
      decimals="-3"
      id="Tc_kdwGttjOOEeNzNpbz2rESQ_8_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1613000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg"
      decimals="-3"
      id="Tc_t1D8upvxpUO_s0mOtdZOEQ_8_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_LGwCN6dECkSeVEpVwGfKVQ"
      decimals="-3"
      id="Tc_HfJ6YTcKrECdHWmN2SGW3Q_8_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">254000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_XVdD9uC66EKRsKJ5qoUQZQ_8_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1868000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA"
      decimals="-3"
      id="Tc_A4_ZqHqBP0KvublgO8vJrA_9_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">36168000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg"
      decimals="-3"
      id="Tc_JRvkIH5m50-HcwdEcknjxw_9_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">5425000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg"
      decimals="-3"
      id="Tc_Ni2pKzGz7Ee93KhSKBkhPA_9_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">300000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_LGwCN6dECkSeVEpVwGfKVQ"
      decimals="-3"
      id="Tc_mDzpHlrwlU2jeBuw_qYzEg_9_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">-7918000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_za2fu_gnIUqBccMYVpgBEQ_9_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">33975000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_w_0tueHH2Ua0vB6M-lbTCg_10_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">14510000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_OKsVm0pgs0e0BM_T-DndVg_11_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">19465000</us-gaap:ProfitLoss>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg"
      decimals="-3"
      id="Tc_GwMVBfrSaUe-Af8Ow3ysQw_13_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">497000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg"
      decimals="-3"
      id="Tc_xVmMKxwjcUqGVpfMlvfRaA_13_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">114000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc__l0MZ6tKSUmV9bJ78pbDBg_13_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">611000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:Depreciation
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA"
      decimals="-3"
      id="Tc_1eMZRVx9UEiAUIluIuG8fw_14_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">422000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg"
      decimals="-3"
      id="Tc_LqhULGPh40y9Ig5IMZ9WRg_14_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1553000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg"
      decimals="-3"
      id="Tc_NufZHMxZTU2sB6k49Exb7w_14_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">318000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_LGwCN6dECkSeVEpVwGfKVQ"
      decimals="-3"
      id="Tc_RegVvn6__UmBiQsBgXFORQ_14_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">3000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_5UwrL4qNNEiyESu3jfKW2A_14_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2296000</us-gaap:Depreciation>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_PowerIndustryServicesMember_59iF_x8b6EqisNvwE55hpA"
      decimals="-3"
      id="Tc_KaO4iKqmZkyDtgrfmPN-ww_15_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">868000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_IndustrialConstructionServicesMember_vTAG4efNi0OhHUvkvnTPDg"
      decimals="-3"
      id="Tc_XH1zJ_V8IU-VUIoREfu_Sg_15_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1415000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_agx_TelecommunicationsInfrastructureServicesMember_K9NK_NFFiEe3HgDAblNBEg"
      decimals="-3"
      id="Tc_iVlJC15seUiy8gYPkhQWRA_15_9"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">295000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_2_1_2022_To_10_31_2022_srt_ConsolidationItemsAxis_us-gaap_CorporateNonSegmentMember_LGwCN6dECkSeVEpVwGfKVQ"
      decimals="-3"
      id="Tc_6XLtjp-lpE64jiB2UHiBmA_15_12"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">4000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="Duration_2_1_2022_To_10_31_2022_ujX3p1170kKQBMY_dXdIjQ"
      decimals="-3"
      id="Tc_oIvLoiXPL0GrP-kLmWmPAQ_15_15"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2582000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:AdditionalFinancialInformationDisclosureTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_m57WOZMIGkaxKiNWi0qGiQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:8pt 0pt 8pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;NOTE 15 &#x2014; SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Balance Sheet&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 6pt 0pt;"&gt;Other current assets consisted of the following at October 31, 2023 and January 31, 2023:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;January&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income tax refunds receivable and prepaid income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  16,550&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  15,327&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Raw materials inventory&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  12,449&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  11,903&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Prepaid expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,106&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  4,541&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,138&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,563&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Total other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  41,243&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  38,334&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 6pt 0pt;"&gt;Accrued expenses consisted of the following at October 31, 2023 and January 31, 2023:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;January&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Accrued project costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  52,719&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  17,448&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Accrued compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  17,921&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  18,286&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,447&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,567&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  11,106&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  12,566&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Total accrued expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  83,193&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  49,867&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Other Loss&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:8pt 0pt 0pt 0pt;"&gt;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. 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. 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 reflected in other income, net, as a loss in the condensed consolidated statement of earnings for the nine months ended October 31, 2023.&lt;/p&gt;</us-gaap:AdditionalFinancialInformationDisclosureTextBlock>
    <us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_ipQZpHVfmkCuZGrOwDJ83w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;January&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Income tax refunds receivable and prepaid income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  16,550&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  15,327&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Raw materials inventory&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  12,449&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  11,903&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Prepaid expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,106&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  4,541&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,138&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  6,563&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Total other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  41,243&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  38,334&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock>
    <agx:IncomeTaxRefundsAndPrepaidIncomeTaxes
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc__5srCtgL40W8a1b8IZY0Aw_3_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">16550000</agx:IncomeTaxRefundsAndPrepaidIncomeTaxes>
    <agx:IncomeTaxRefundsAndPrepaidIncomeTaxes
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_low_JhpTJEq0fGPaL4LDbQ_3_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">15327000</agx:IncomeTaxRefundsAndPrepaidIncomeTaxes>
    <us-gaap:InventoryRawMaterials
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_S8MlgF8kSUWwpGsJaTfjag_4_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">12449000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_bGwuVTN9cUyAw9NIMyeDMg_4_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">11903000</us-gaap:InventoryRawMaterials>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_HIEUYwJWtkmXrut9YDTg0A_5_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6106000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_MLn8aksM00yM3xqlaeI3Tw_5_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">4541000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:OtherAssetsMiscellaneousCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_AHYMD8KkXUKKyeaRtKz2Og_6_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6138000</us-gaap:OtherAssetsMiscellaneousCurrent>
    <us-gaap:OtherAssetsMiscellaneousCurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_QkqrPpU_LUGi7ibf56F43w_6_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">6563000</us-gaap:OtherAssetsMiscellaneousCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_nei3OcQ0jUq1kZyb0sApmA_7_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">41243000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_WnElG0TEnE-1247HsXtbpw_7_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">38334000</us-gaap:OtherAssetsCurrent>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg"
      id="Tb_YIHArvI92U62qffqnXH8Ag">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;line-height:1.19;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;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%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;October&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;January&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Accrued project costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  52,719&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  17,448&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Accrued compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  17,921&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  18,286&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,447&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  1,567&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  11,106&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  12,566&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;"&gt;Total accrued expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  83,193&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;  49,867&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <agx:AccruedProjectCostsCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_5J0L_kJYqk2eWhaWmAa58A_3_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">52719000</agx:AccruedProjectCostsCurrent>
    <agx:AccruedProjectCostsCurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_dV_sQ1h9yEO_l2KxoFlNMg_3_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">17448000</agx:AccruedProjectCostsCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_xWLUcLyX8UaUK-nlGwv9Rw_4_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">17921000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_oeopCOWgFkaPcaEThkB8zA_4_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">18286000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <agx:AccruedLeaseLiabilitiesCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc__VEMvhRTS0ukBjg-MYAs8w_5_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1447000</agx:AccruedLeaseLiabilitiesCurrent>
    <agx:AccruedLeaseLiabilitiesCurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_SKk_BerQSUulRT9-7EpXXQ_5_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">1567000</agx:AccruedLeaseLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_tSV_qiYW10GDqL1LuqyCYA_6_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">11106000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_zkv-X1HLKEOQeuyx2HLedQ_6_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">12566000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g"
      decimals="-3"
      id="Tc_XaXvJy5WOEub180gNoPwhw_7_3"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">83193000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA"
      decimals="-3"
      id="Tc_3mW9iOpcAkKmN8wtIc-Ycw_7_6"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">49867000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:UnusualOrInfrequentItemNetGainLoss
      contextRef="Duration_2_1_2023_To_10_31_2023_us-gaap_UnusualOrInfrequentItemAxis_agx_FraudulentlyInducedPaymentMember_4I0cyeJLeky2ImXpHaBYzA"
      decimals="-5"
      id="Narr_efsYHoJ_g0Gbk4_mhh_hCA"
      unitRef="Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA">2800000</us-gaap:UnusualOrInfrequentItemNetGainLoss>
    <ecd:Rule10b51ArrAdoptedFlag
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      id="Narr_A4HFrKXvGkSkJHND_IZTHQ">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      id="Narr_7c3fREaSQEWGTjN0Y6Y0UQ">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      id="Narr_3l7_Fx5Np0u8sbEfSlMtKA">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag
      contextRef="Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q"
      id="Narr_IcuK4HUDj0OcI0nvt_YAww">false</ecd:NonRule10b51ArrTrmntdFlag>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>78
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5
MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$%     @
ME8*&5_U)%+3#!0  W!X  !@   !X;"]W;W)K<VAE971S+W-H965T,2YX;6RU
MF6MSXC84AO^*AG8Z[4P(ELPEV1)F"$FV3'<3$M++]IMB"^Q9VV)E&9)_WR,;
M["25#]2S? '?SFN].KH\EH8;J;ZF@1":/,=1DEZT JU7'SJ=U M$S--3N1()
MW%E(%7,-IVK925=*<#\/BJ,.<YQ^)^9ATAH-\VLS-1K*3$=A(F:*I%D<<_5R
M*2*YN6C1UN["0[@,M+G0&0U7?"GF0O^QFBDXZY0J?AB+) UE0I187+3&],/$
M928@?^+/4&S25\?$6'F2\JLYF?H7+<>42$3"TT:"P]]:3$04&24HQ[>M:*M\
MIPE\?;Q3O\G-@YDGGHJ)C/X*?1U<M,Y:Q!<+GD7Z06Y^$UM#/:/GR2C-?\FF
M>+;;;1$O2[6,M\%0@CA,BG_^O*V(5P&N4Q/ M@'L70"M>X.[#7!SHT7)<EM7
M7//14,D-4>9I4#,'>=WDT> F3$P:YUK!W1#B].A*>AED11.>^.0ZT:%^(=.D
M:!ZFFMLD#;@2Z;"CX6TFIN-ME2\+95:C?$X^RT0'*:CZPG\;WX%2ED5ENZ)>
M,E3PSM.GQ*4GA#G,M91G@H=?">^4.-;P-\5QRYIS<SUW7\V-K35GJ[!"L&L7
M-!WV0[KBGKAH08],A5J+UNBG'VC?^=7F]CN)O?'>+;UW,?7*^^/+2MB<XN'4
M:=_;+*%1#2WU2DN]PRS=9UQIH:(7\B!64FF;/5Q*J\Q6*1,TJJ&]?FFO?YB]
MF5"A- W6)S!@6).'*Y7=L+8?HO$-?0Y*GX,#6Z;B,-?D8UA]'G&M!8]2:R+1
ML(8&STJ#9VBAMB/-31@)<IO%3T+9C.$:CD/;+AWT^C9S:&A#<^>EN?-#S#V(
M99AJ2* FMSRVME%<9_SP<7Q+IK<3FT$TM*%!ZE3SK7.(Q6GB207-,I\K3LA<
M0U\D4I&)S!*M7N#?M_K>HWYU;7.,!S6U_ HQZ"&6'_DSF?K0-\-%Z!5T4=^
M]TA2MTW/NP-ZWK/Z18.;^F657W:(W['O@WIZLCL@G^ Y<I?8\XI+0A29!)GR
M F@J"F /FDP60I-A#K76 "K7M 8J-*(H??RG!B;F#%KWH]Q8P6B/W(/TOJ[#
M*+(.QGAL4ZL5"5&<9=Y;+7OR3,EUF'CV;..:GZ^L1H^!1[3B(XI3S7NC,YEJ
M'I%_PE7]8(4K,N>LYUB='H.4:(5*%"><O+6.X:.XWA@NX-9TRF. $:W(B.(X
M\TEZD*]9(!.,'/:(N+37=APVL/H[!A?1"HPH3C6/H08FD@M"V<]/OY"Y\#(%
MF;2:Q)4F,HYA=IIK&'=.R(_.*>V1%5=DS2,[V>-Z39U7U$1QW '6]<-D2>8O
M\9.,K(;W\-+'OZVVCH%*K$(EAL/,+H/D^MD+>+(4M32X1^CVR]S*17A84W\5
M%[&#N&B2*66^6(K/E#R/,(=DUB67/8I?K LU$SRJJ<^*A]A!/#1-X+.Z6+8S
MGYY\9]SJ$U>L\WD,ZF$5];"#J,=\F@'( P8LI;(./WMTQIXG0 ($_$+,ZO48
MV,,J[&$'8<\\YE%$+K,4;J?V%HOKU'YCXW%-_56TPPZBG>M8J*7IDA]!00<
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
MROZFVN S0Q8R((H>T*>X%JBX6Z&Z8;3C8IW[1"!L*!!R'"#0S^*@VH@XR&&
M0 ?#4 M7['1.SV_>^.8V/P$9/@B5?N.AZ?WD2LS3V74Y57TTNU_XB^'4'4]O
MP*AT*N-/S]MC>G./ZLT[EK?V(5XMO4FW]*[G;7EL"8Y1 DAI2HFT)XQ F&7+
M Q/V)L,\"*:30\D&J14WZ5;<S2G:Q1G0O]0P9,T-PFQ,9,Z@-UT^$H)@.C4.
MB&Y2BV[2+;I'0_\6N>.'L>M-7;][RZQ<M=<:.;D"040^" -1\L$0"%(2JW[C
M''_#TN?B B5#RV07\_*<=O]V?TDS+*XFI/=7^'R$@?<N/O?**YC:?7DC- G2
MYS#.4,2>1%5YVWHH+2]9R@)/ML4MPF/">;(I'M<L6+$T!XCO3TG"WPMY!?NK
MKL&_4$L#!!0    ( )6"AE=X-K"L@P8   (:   8    >&PO=V]R:W-H965T
M<R]S:&5E=#,N>&ULK5EM<]HX$/XK&JYSU\Z0H!>_M@DSA' MO01R@=[-?52,
M$CRU+6K)>;E??[(!&Y"L)-=,9QH;=M?/KK1ZGC4G#SS_+I:,2?"8)IDX[2RE
M7'WL]42T9"D5QWS%,O7-+<]3*M5M?M<3JYS11>64)CT,H==+:9QU^B?59U=Y
M_X07,HDS=I4#4:0IS9_.6,(?3CNHL_W@.KY;RO*#7O]D1>_8C,EOJZM<W?7J
M*(LX99F(>09R=GO:&:"/0U(Y5!9_Q>Q![%R#,I4;SK^7-^/%:0>6B%C"(EF&
MH.K//1NR)"DC*1P_-D$[]3-+Q]WK;?3?J^15,C=4L"%/_HX7<GG:"3I@P6YI
MD<AK_O"%;1)RRW@13T3U/WC8V,(.B HA>;IQ5@C2.%O_I8^;0NPX(*?% 6\<
M\$L=R,:!5(FND55IG5-)^R<Y?P!Y::VBE1=5;2IOE4V<E<LXD[GZ-E9^LC^<
M3LY'D]GH'*BKV?1B?#Z8JYNSP<5@,AR!V9?1:#X#1^#;[!R\?_<!O -Q!N9+
M7@B:+<1)3RH,9:1>M'G>V?IYN.5YTT@> X*Z $-,#.Y#N_M7FK6Y]U3F=?JX
M3A]7\4A;^M^NKT>3.1C,9BI/4SIK?\?L7S;91[&B$3OMJ"X2++]GG?ZOOR /
M?C(E]T;!]E(E=:K$%KT_I&()U**!J+Q@/XKXGB8LD\9%7(?RJE#E27#?1X'K
M>N%)[WXW'X.93T+'K\WVD#HU4L>*=)S=,R'3-FQK9W?GH1BAT/$.L.EFR%7_
MD!F;6V-SK=@&4<0+!4P=81%3%;Q)6!=D3)J NAH")PPQ/L"I6[D0$6R&Z=4P
M/?MB\TSFZH@$5 AF+J.GE]$E(3I 9[!R?#\PH_-K=+X5W50N6:Y.MSQ7:VR!
MZ.L%1-@A!Q!U*Q(0XI@A!C7$P IQ/IT/+L#SQT.@KQYRH']81MW,(8$/6U8Y
MK$&&5I!7N:+S7#YUP2JA9255=Y>-O2I[IW5;AGIC0#\X;!^3E4.@&3""#=U
M*^3/G"\>XB0Q,@?4-UL R>%Z/VNV#VV'"=$SQXZDV5VL.GJS)5LKN FTAX @
M]Q"GP<J#80O,AK&0E27ZY^R6J<99 $D?F04CUMMB]UC98#18>4$;QH9JD)UK
M*C5XQ&^/"L&J7<FKCF_O]$V\O3XR5%2W\B!NZ734T VR\\VZU]M['.E4XGK$
M<[5BZG9.$#I!"QVBAG.0^R*5<C$>G(TOQO/QR(S32EVOU2IO%6T_YX; D)W!
M:J)=T:>298T)Z^Q$'%??Y+J96C_?;5F6AL60G<84Q+Q0C<@>U5 EF'ECZ^P4
M$!1J9YJ!ZL+ :]LY#8LA.XW5.B")Z4V<Q#)N@:D3%'(]I D^@UWH8:]%5*&&
MR)"=R?;I]KE]KG,3]HGJM$.P!CN(7=C"%+@A,6PGL0G/MN+EF;IBG:N<$!^>
M:P8K#[8=&[@A-&PGM'51GRDF-K"4'P3H<.5-=C!PPQ9%@'<F,#N?#:>7E^/Y
MI5KW&1A,JCET/IY\'DV&"C%X+Q@#$RZ9 '[%),$'8Q;_8[("Q@GMYP/MUZ'A
M3$RLA_QL/AW^\65Z<3ZZGOT&1G]^&\__,:9JI=Y73Z1O%&T_Z89ZL9UZK_*M
MFA&21]^5D*4Y4'-IP< [>(P@4/H6B"7-&3@"+H1=".'Z7@!:R"7/XW_9XA/(
M^/;36(CR3*Y$1R&%DG2+.+LS%M(*[35[YN<#[9>O$0;8/HT.>9KRS%P[=Z]V
MI"I=6_F0VPUPT,5!N%]&]0WI$H*[OK/N/G7K.*BKVGYKN%-D0"681I+?J.=N
MW]%47E]I5M#\J?ZPJZ9GL6+5&[SDR;@V^E2,B7]XP#]GM5_51GK@9Z3'8A&7
M[QAIHDH:+X[B#$1T%4MJG%JPKBZ0I[2K!M9DA]49V@*WD2'8+D.NF:3J(Z5#
M:)ZI93 3D2XP,/(=;>PSV:GIL.U]!&Z4"+8KD0LF!) YHZ)0.V&S8]6&B;B0
M:G_BKA.Z7=?!U8;!71)X72^LM^,;[BQ=P1R%1 T;AX4PV 6!Y[1('=Q('6R7
M.DHU%FF14,FV8U'$4W4P+,MWX_<,)%R85U!7,T>.Y\)#W 8S'/B>&39I- ^Q
M:YZUF'@I21'3C.X$VBQOM(-!V*)]2*-]R"NU3Z4M7@P?:2\VC1.?P<XX\?5V
M7M"7OXY<TOPNS@1(V*URA,>^*D"^_L%A?2/YJGIG?\.EY&EUN61TP?+20'U_
MRY4DVMR4/P/4/_OT_P-02P,$%     @ E8*&5]3.>,\- P  M0H  !@   !X
M;"]W;W)K<VAE971S+W-H965T-"YX;6RMEFUOFS 0Q[^*Q::IE;KP#$F7(*5I
MIG;JVJCIMM<N.,&JP<PV2;M//QLH"PEY:I=(P39W?__N..+K+RE[XC%" CPG
M).4#+18B.]=U'L8H@;Q#,Y3*.S/*$BCDE,UUGC$$H\(I(;IE&)Z>0)QJ0;]8
MF["@3W-!<(HF#/ \22![N4"$+@>:J;TNW.-Y+-2"'O0S.$=3)'YD$R9G>JT2
MX02E'-,4,#0;:$/S?&06#H7%3XR6?&4,5"B/E#ZIR74TT Q%A @*A9* \K)
M(T2(4I(<ORM1K=Y3.:Z.7]6_%L'+8!XA1R-*?N%(Q .MJX$(S6!.Q#U=7J$J
M(%?IA93PXA<L2UO/UT"8<T&3RED2)#@MK_"Y2L2*@^EL<; J!^M0![MRL(M
M2[(BK$LH8-!G= F8LI9J:E#DIO"6T>!4/<:I8/(NEGXB&-W=7HYOI^-+($?3
MNYOKR^&#G%P,;X:WHS&87HW'#U-P,H$,I2)& H>0G(+/X"/0 8_E*N_K0G(H
M-3VL]KPH][2V['D7B@ZPS3-@&9;=XC[:[?X-IMO<=1E]G0*K3H%5Z-GO24%;
ME*6LTRZKWK]SGL$0#33Y@G'$%D@+/GTP/>-+6\S_2:R1 ;O.@+U+/9C(5P<Q
MAB(@ZRU\.@,99& !28[ "4Y!1 F!C(,,L?*9G[9EH]S"+[90?QZ+P.B8?7VQ
M&N1NFP:[4[,[Q[&750E@+F+*\!\4M<&6FNX*B&NHSQKO7K,&LELCNV]"QISG
M[;CN!L<ZZ2Z+!J170WIO@I1' 1<PC7 Z;R/U]I+NLFB0^C6IOY-T1)-$'@CO
M*%V_K2S=->X]1@WT;HW>/0+]H,KM;J3/-HRVVCW L,'<JYE[QS-O+]W>!H;I
M=BWY[:WQ'F#8X#6-?T><<3SQGCJN)!LXMFU;ON.O<;=:.H[I]K8DVEPYF\V=
MX ^R,>,Y>VFBM^*:&Q"6TW-=QUJG;3&TNY[76\^ROM)3J(;N.V1SG') T$QZ
M&AU?2K"R1RHG@F9%F_%(A6Q:BF$L^TK$E(&\/Z-4O$Y4YU)WJL%?4$L#!!0
M   ( )6"AE=5QL#75 L  !5N   8    >&PO=V]R:W-H965T<R]S:&5E=#4N
M>&ULS9UK<]NX&4;_"D?=:7=G5A%QX46I[9E$O*7-QFGLM-./C 1'G*5(+TG9
M27]]05D1A8M P?MF)E\2RP8."/ A!!U0TL5CW?S>KAGKG"^;LFHO)^NNNW\Y
MF[7+-=OD[8OZGE7\+W=UL\D[_K#Y/&OO&Y:O=I4VY0R[KC_;Y$4UN;K8_>Y]
M<W51;[NRJ-C[QFFWFTW>?'W-ROKQ<H(FWW[QH?B\[OI?S*XN[O//[(9U'^_?
M-_S1[$!9%1M6M45=.0V[NYR\0B\S.N\K[$K\NV"/[='/3M^53W7]>__@S>IR
MXO9'Q$JV['I$SO][8 M6ECV)'\<?>^CDT&9?\?CG;_1DUWG>F4]YRQ9U^9]B
MU:TO)^'$6;&[?%MV'^K'C.T[Y/6\95VVNW^=QWU9=^(LMVU7;_:5^1%LBNKI
M__S+?B".*B!RH@+>5\!2!1R<J$#V%8C<0GBB MU7H'(%[T0%;U_!DRJ04X?D
M[ROX<A_\$Q6"?87@W%$*]Q7"W=E].AV[<QGE77YUT=2/3M.7YK3^AUT@=K7Y
M*2RJ/KLW7</_6O!ZW=7B^ET4O[N)(X?_='/]]DWTZI8_N+GE__T6O[N]<:X3
M_NAZ\<_L^FT4?[CYFQ/_Z^.;V_\Z4^?C3>3\_-,OSD].43FWZWK;YM6JO9AU
M_+AZ^FRY/X;73\> 3QU#O=GP&-]T]?)W3>V%N?:KU:KH+X.\=-[GQ6K*CV61
MWQ==7FI8D9GU@77\<F<K)\Z;JJ@^ZSH3FQ&W? 9IM\W7D]U)1KJS7&XWVS+O
M^%%<=VO6.'QX^+2T[N>+!^:\K5O=4:5FZKNZFB[KJFOJDO_IL_.FZEC#VDZ'
MRD8Z6"M#.^.A.R0/'Y*'=QQZ@O,Z+_-JR5HG[YQ_Y-4+AZ!?'>QBK O0$\K?
MH?KI^.$*$S^\F#T<YT0MA+P0S5VQ6*0I%H:^7"Q6BTVQ2UU/+);HBE$/B:52
M3:E@'HB%,K40P9XW'UH4QID<QIF<-\X_\RNC7>?\M/]RUI@_83UA.+$7^*$\
M[L;V^R??E^U]OF27$Q[CEC4/;'+UU[\@W_V[[@*%A,60L 02ED+",B"8$"]Z
MB!<UQNL=7U\5U;+>,%V&C'4MN[F A$543?><^M+5'4,VF4#"4DA8-C880C*\
M0S(\8S+XVI*O'"N^BFD:5BV_.EV35RU_9NO7K*7^:>RU$6D;&$A8! F+(6&)
MIYR]*?9=^2D(LLELK$DA,/XA,+XQ,+L5D\.G$O["K'V*"?O2_ZR=6HPLVZ3X
M2G^(ZTF300398@P)2R!A*20L&QE8(2?!(2?!&3FI[_<)8<VR:/MU9+5R^C5M
M4RS[Q7.[*[6MBLYI6=>5C+_B[MI?G8H_8=5W^Y40?[75K=>L7#EW=7-@.?><
MP7; W=_K<M4OFKO\"]-.6H&R</.E)5*@#(,O+TN-?;9-%R0L@82ED+!,,ZR^
M/EOA(5OACYNMXR6Z+F>A>C'-W?E<RIJQ@[;/>I"P&!*60,)22%@&!!/R.S_D
M=V[,[]ZE/ 6T8??;9KG.6_VT9239/H-"PB)(6#Q7URH^?V&-I1?RD&VFD+!L
MKLH#L0-"4I [J#_W65D9FX;V6&%$48"1BZ05T\)\ +:I *7%H+0$E):"TK)S
MSI<8H2-[C,P1RMNULRH>BA4[I7Z- -M9!I06[6GBP+B>++ABT%834%H*2LOV
M-/_TB(A!&60O.M_V7B\[LWE$.MT;4'ERP:JU\!&1#6VD*S<//#^0S[):;AH2
MWY/*);IRGBL_GZ2Z8JKSU93" 0JH>V+ !^N+GJ=]QP=?XWV)%WA!@.43 "I^
M06DQ*"T!I:6@M R*)N9LT+_(['^%;9QM.9(M>M:%K=&1/B?.Y0M;IRT)EB>
M6%-N&O!($_G"UI2CU%4N;!U.O;#54C@(7'+B]2D:K"HR:]63^SFC@Z]*.T3"
MD**YLFP#%:>@M!B4EH#24E!:!D43<S;(6&2VL>:-'7-EZV4=)"U"JG0, D]9
MU($:6%!:"DK+QL9##,A@89%9PSYK?\?,M,X-)"T"I<6@M 2IJG/J>Z[\U 1J
M5\?:%',S&%9TCF(]=YO'#+,.C*I0D1OX\L("U'J"TA)06@I*R\9&5PS,H#01
MG-,THZSC FHU06DQTGA-Y+HAE5>UH&(3E):-]T&\M6Q0F_C[J$VL466$'P^6
M7BLLS.W;)@.4%H/2$E!:"DK+H&ABR@;[B?^L_30#;*<C4%J$-?:3D+GT9!B#
M-IJ TE)06C8Z(&),CFYT!72?^"SWB<]TG[IR.O>I*:=UG[IR&O>IZ83N?E<[
M]XD']XF_D_O$9[M/\Q%87XJ@[A.4EH#24E!:!D43<S:X3VSA/H]NIR;:;)WE
M/K'.?6+LAO*%K=&+;A 2+%_8&ED9ACY%\H6M*8=#^951:AX0Z].GZ43HAD<3
MA7AB!D>*G^E(1T^2SI%2BCSY[0$+\Q%83P"@CA24EH#24E!:!D43<S8X4OQG
M'*FYLO7B#]218M4)8I=0Y4TPH)(4E):"TK+1 1$C,EA2_!TLJ9EIG1Q02PI*
MBT%I"=892QS(3V*@EG2L33$W@R7%9DO:3RW;JF%Y6?R/K79)X<]G_;M]'_*B
MS#^5;'I7-],V+YG3,IZNHBOT2LS<D'680&\O!:7%H+0$JS9SBA!5T@2J4$<;
M%>,T.%1L=JAVTMT,LXZ,:OD(1;)T!VTS!J4EH+04E):-C:[XIM'!H!*S0?WA
MWF1A/E[;3!*-Z,4TD-^4 =IHK&F4>('L6$#;3$%IF:8'"+DG9B<RB%1B%JD_
M]+LNB*H%D4N\N?(V:% ["TJ+06D)*"T%I650-#')@^LE9M=KLU=I1EG/:)"T
M")06$YU>IK*%3D ;34%I&=$H;:$+8F"./IW![*J?NU-)5%4]Q0A3V>PMS.U;
MYP+V\QE@/Z !]A,:8#^B8?QTB0$:)#0Q2^CQ34@SP'J>@:1%1..=D>N'\BXD
M:*L)*"T%I65$W2>01D0,RB#%R9E27-H)TXKP/6MDMX)H=+E/D$?E9;1:#J.
MJF=9\[D"<^(1>;="5XZJM\.9!\3ZQ&@Z$=*0D!,G9K#(Q&R1S]FNU)\DU5DB
M0@@.9$FQ,!^!]44+^DD(H+0$E):"TC(HFIBS0443LXH^]58-?;;4#S7030"J
M_$0^)O+M4I&F'.;]<N?R!*"1J7/.F\L3@*8<(?+:)S4/B/7ITW0B]$Z^I8,,
MKI>87>\Y;^G0GR3-#9>$SY>^)]^O9CX"ZPD 5-N"TA)06@I*RZ!H8LX&"4S,
M$MB\76FN;+U,!+UUEJB2TZ,^E6</4.D+2DM!:=G8>(@?Y39(7VJ6OL_:K#0S
M;7,#2HM :3$H+:$:!1V&\JUTH&UF8VV*N1G\+37[6[C-2G-#UF$"5;*@M!B4
MEE#-O:M4V?D&;3,;:U,,TZ!0J5FAVFU5FF'6@='<+XMDTQ^!MAF#TA)06@I*
MR\9&5PS,H%"I6:'^<%N5YN.USJ1&'1+9G4>@;<::-CUY-DE FTQ!:9FF \@_
M<3,7/?JL6[-K_:'W*:GF;EJDJB!S%ZV?$R%I,2@M :6EH+0,BB8&>7#!U.R"
M;;8IS2CKV0STOFE06DPU6AD%BGP";30%I66C71 #,SAJ:G;4S]VFI*JBYFM$
MU4^9F[>.!:B@!J4EH+04E)9!T<20#8*:F@7U^%:F&6 ]%X'>&$UU3GH>RF^U
M VTT :6EH+1L=$#$F RZG)ZIR\_9(]NS1O8Q-*6T&YDZFFXC4U-.NY&I*Z?9
MR#0/B/5YT73"L)%)![],S7[YV1N95-69)S8RS4=@?<F"WG,,2DM :2DH+8.B
M/>5L=O3U5?T7IOV6-Y^+JG5*=L?Q[HN YZ)Y^@ZRIP==?;_[1JM/==?5F]V/
M:Y:O6-,7X'^_J^ONVX/^2[(.WP1W]7]02P,$%     @ E8*&5Q$S.9G)!P
M,2$  !@   !X;"]W;W)K<VAE971S+W-H965T-BYX;6RUFFUOXCH6Q[^*Q5ZM
M6FD88CN/LRT2I>D,4AO8PLS=MR88R$Z(N8GIP_WTZS@T(8GCMA+[9AK"\>'O
M<^SS\\-</;/T=[:EE(.779QDU[TMY_MO@T$6;NF.9%_9GB;BFS5+=X2+C^EF
MD.U32E:RT2X>(,.P!SL2);WAE7PW2X=7[,#C**&S%&2'W8ZDKS<T9L_7/=A[
M>_$8;;8\?S$87NW)ALXI_[F?I>+3H/2RBG8TR2*6@)2NKWLC^&UL&GD#:?$K
MHL_9R3/(N[)D['?^8;*Z[AFY(AK3D.<NB/CS1,<TCG-/0L=?1Z>]\C?SAJ?/
M;][O9.=%9Y8DHV,6_QFM^/:ZY_; BJ[)(>:/[/D'/7;(ROV%+,[DO^#Y:&OT
M0'C(.-L=&PL%NR@I_I*78R!.&@@_Z@;HV  U&Y@=#?"Q 98=+93);MT23H97
M*7L&:6XMO.4/,C:RM>A-E.1IG/-4?!N)=GPXG@:W?C#W;X%XFD_O)[>CA?@P
M7X@_#WZPF(/I'1B/YC_ W?WTSSGH@Y_S6W#QQR7X T0)6&S9(2/)*KL:<*$F
M]SD(C[]\4_PRZOAE#SRPA&\SX"<KNJJW'XA>E%U!;UVY05J'TY!_!1A^ <A
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
M;+T'[F+=YWN:_9F'*E'LAP[2*.3=WSKI, 9OD(I6RM[6M7]Z&(7!CY)R+%8
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
MO.R%O7KBBUBDEB;Z5Q<%7\ 4[-?BL\91O]&2B QR(U3.-,PO>^/PW?60Y)W
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
M[#[=50.K"O>Y;*:L59E[3($GH$D W\\5UL_U@#9HOI]>_1=02P,$%     @
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
M!!D),=R'9CP?V][8GD=&N"GL\D*;JCCG#4"9>$O-MX HI-AH1J/=:!FU),!
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
M!OZ>XE(9[]ZJ?UT1.Q3L6L8P+TS^]DC W7 L@].+I(9#,.00+0:CZ!1CW4A
M*LM<9#''(4V_L!J^L@+8I!M*J2@SA3D% 896U+$^0SY*3JPM=+Z*4D)8R]./
MNBKX_?.__._OE58[!X[]>VW-L^O[P4@>&5)^-'TU\ANF%/F$"78HBKLJ_ZL'
MM^#^ N(%<[X:^TQY07[HE*^&GHS7'K!JD ?PM!X@SY"ZY$3GZ:DS?%\JJ:B.
MDR[YS&9%B5%J8PK^#@9^+?D#&?2]R8 ,O<'(&0Q\#RJYUM"Q0>"NZT^]P?A@
M/U2:;X2=3(-31UPX]L+!P>*@0YDS[F([:4CK@U+!P=(:!MM.PHWVW?YPXAIN
MX$W[9.!-IDW##<)*6RPN+0*#;MAO> ",/ZR_#[QAOREP[!^LR;%_]VD>.IH/
M_&%3<Q]#9A0T@0;CO9J'("B8;)EP/ )!P9:@T<:D>+)'<"0MJJK%JCH/91<8
MQ=DKD $D!K8LP\D)) M62+:K\!]5@.VY_Z[>SC%+MP_FFFX8B%U]1O[D&GQP
MR3RT%!Y1YUI*UW8)JZO4M]IW;45J.G B DK#N"Y&C2(T\8*0_# 1<#(>NB5@
MY(W"JDYH2MM>*2"*)PTL[],UG#2PC,.C?;)'?DB O#7D]S?IC\&OA(+#@<,Y
MP3,)[-;$G#GD@20E5!F"CU':)&BLKKEQ6>#)=5C0DQ7T"A\";TB [2<@R?M+
M<(0:1R84M!V+#(F]9K (A2Z JR\P(!L$V1*?BA[OR'Y9SOX%?:'N%3?5;YO;
M0MJS32G;>KK2-!;WJ$=PP/96/#N#1V>P(UM7O15[BQB+JYN"&OYV/X!,LH3R
M4<-0[[TS6Y,/(V]2.4=#_3#TIM5 %YESSO3M7[+V@+C4S9)AH=\S#D9Z=IL;
M0WJWVRK@KS@3# 7UBV-I>V-1B7*!7$*/K8 0$8&<OME=:T@IPPJX\\KB?;-O
M6T9<#X3&5/H"2QD"@#E,-X<[J+RL\4 QUE>WV"PL!$ULGQ(M.3,7&7$/-,'6
M KD4S.8B-G,D55QB;^J1.ZSAK>:P?;JL^BO=[YPA!0/1&4 LI&T)ZF[1(Y^.
M2;]NL^^T#9;)OJHS@H+6T-3>C.QPX(D-S(?'I^_21N0I&!# (BQ*%"T6D$4
M>K1UV^1:N:O] BO<OO5H$'<'H B&>V$4+&,KG9;PH5BLCP?Q> "(<7>X!X/B
MZ8%[/;=O-0R[DSWR,86 =DW#:H;9RT:=K;JXBLHEY- KCR&:)(GQ"B,F.>5Z
MKEV+?L/1K<LGD_;'A6?8'I[:GNUV#/?'U..>I?M<H"WTW%P[#O<L\-JH9$K?
M>%JF#J7<L9N^@,"0<XWHGA\[HN G<,W6G7\J]?S_IIS5UT,;Y'ZSS?6]B6^/
M)B2?+B_M!T@>OT!HN(WH('3Y);;7?EN_.IBZTX*A-QS_22/:#_M-8,/IT:[:
MW_"%4Y?JAE/L95L,K6^*-S'I\*[W+&I'7J ;X% 7VJK4OG; E,M9)LU;!CAI
MX3/#.D;A>4$QR,[PG0\60P[[O=K;-7.%:<_<YCU95>/NK+ *JT-8;3DQ'$@3
M.2"_89-?!5Y0#U0I;:XZ]U-I7&RJ9I.4'0>G[PV:</HM< X@]KO07+^GF?5=
M+?8"(V=_*!UX 1\)X.3_ADT:+HN$;/0"[PFVU4LM@=JZ!PDZ.S)DL_9[Y=Z,
MO2EK[>I.VETIX2R&#>6?ULYW\;EU1V[>$932'$,W"8U>SIZBI4CP/#!7N\C3
M\7$J8I8T<4"%18II=<,8S_$^OW$S7//]^HH8PEB6^,J*,W.FZ)<7,0,!YMJ7
M@CVI%)D^?$S<EQ#<T(-PJ/UH+JN_5L68$=1/^%SK!$PIV1S3#?6A->#RY6R.
M=H6VCF&FDD);4K\G89A6'(D#M!RPNW&CIN5ZD@D\I+^["D(5FN:(UV\;9OAB
MI2G:&!SG;0XWV]?IMFB3V.VO-^3&=Q!J711)I>X90:QYG0)&G=$93[CB3%;T
M1RUYH1!.+F"Z/MOI&B(6HQ;V8KK]TD;-=*>B#UN'[Z,.YM"&'3$-H#6RBKR+
M0JN"E5P9R,-SP7D_9;A5Y=#XO4EU.D8TB<HZQ6:,3";>\&]UR]'>&]NGEEM9
MNG-B@@A":NC7 IJ4Z-3E1-F&-FK+&_PX9EB]-H8A=$:59O(Y+^*T6V0[8./T
MNJQM,S-,KRX>&6Z/I>%4G =]G>@=\<X%?=(@SVZ'&.$Q8;.ATN7Y?XM?LU43
M^8[ ME+DD;9?5_2<'[^DT/[HG_B@6(@/\SN8>K3^%=&U^?',9KKY"=)7B 8.
M=3!A<UCJ>^-AQ[3<U1<E<OU3FIE02J3ZXY+1F!4X 9[/A5#5%]R@_FW5U7\
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
MMFK';K9-ML!B7RR1G#D\,YQ#C<=K(>]5 :#)8UUQ-7$*K9M3SU-I 353 ]$
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
M532%D8?W0(%<@3?^^"$\"<X/T$PZFLDA]-?0/ QT,YU=D3 F'S^<1F%X3IX
M)K,<L*#^$9+I-1$+HG$^$65%^=JZ#LX52057HF 9U9#A55P!KT'AH, %H@6I
M0-KW@:= YFL+48D&)&$\PQJ6:V+2Q%)T4K#$.ZU)D[,T)Y44*X;U0@;)$:$<
MOX,C0V)_0(QAL74N 4F[>@-3;P2K1<PQX*9@+!@.HAZZJPKLY2_6/1<D;H.=
MO" 8Q[S^4JR^36V; 48+&T?+VCU'CQ(BP583-R2BEF#XZ3=D(SH^:O??/QL_
M%U8IE":*+3E;L)1B%MR3AW"VN#!1*F?5Z[0RGA:UV7'&^PNQ"Z1Z;2G2-!6U
MS;X)AB=@X(Y<BL(#5?F[A$4/PA:BEK^H*S:ZPLC].&W1>VM[0<V\R9GA;>G9
MH[*RDO>1]7)56P<F^+.:]DM*GCV<UMZ\QBFP%9T7^ 33PCS%> )2E$0WPCWP
M#_G;>6R2:"=C1ELJI+F[@F>,+W>CM]B$*F/\\T'VR<7S?%RI'V 4GSRNSU?1
M^IOR&EO,+5HSZ\ZUQ#80C12VNQTKG(J469B&Z?S9A,7!6R;L:6:/B)DRVB6V
MPVL0O$&F]K4P_E9_B4&7MHLV70$>M&LUN]6N4;]P_>F#N>ORKZE<,JY( 0MT
M#?J#8X](USF[B1:5[5;G0J-".\SQSP9(8X#["R'T9F("=']?QO\!4$L#!!0
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
M557P)M"V7Q0P@ SN(5-9)W25%4V.Y59C@89Z-  'R2S'<8$(&(%K8C5X:L:
M--'4,&_-SA>6D%<(];71S">L,9\7F@X@A@U9FF55-M/@>Z)M"9?6]4PX/:WT
M!-*DXRR1\>H*:R*[425.%"9CJ^N*A?U4L>N-:N]R'9-^VAM%<_[@;7>K@A P
MTY55['K1W<+O)4?MT/\%BLY-N7+ +WNMBW8\!7(P8D&NCLO0TH.C$Q=DA;(A
MFUVTYL,N8VL*!5R;DA+VDA\B$KT,89L.+A#]:1N5UE=-M>L@3L=C9M);#%M$
MA1+!6W.),D=UGFL&IB5'%75C*PD&JQPWW*RI<X"4-SR,:.&"V4*49@R7^3T
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
M,S29/ZP6MY/5$GV_7]VAR=-R-9]-%TOT8477'/3'06!L4.<:I/L XR8 _D.
M/II)80J-IB*#[*U_8,FVC/&!\1A?!)RGYAJ1R$<XQ.0"'FEO@-1XY)]NX%SB
M#6[G/*[KIAM=T12&GFT7#>H9O-'[=U$<?KK NM.R[EQ"'RUM=V9;#DAN4"J%
MEIQEU$!F&^49Q!8TRIBF>:X@K]7K5Y2#S!6M"I92CJCMX',Y78[Z_EV"0_()
M_:]U52B -P6%;#G(-:BZ(@YF#Y;VWZT.JZLC]\$73IX$<[>X-/8R=7M^A?K8
M#^/X1)%$?A*%OR%=(4SZ?O+&%'=C/R016D"U77.6NE]YKX!3D;56<>*3;O](
MR*(3\AMZ9+'#J-/*G9X5^P?27YG(,UFVI\0GY,@PZOB8G$G=LNT? Q/BXPBC
MR6FE+0Z5=DPIBHG?ZW9/-5'/3WK=,Q?2"1._U^N?: B)?1SC<]T1G$RX$E1>
MSW%M*W\K3#/L6FW[5-PV$_)HWKPS,ZIR)C3BL+&NX76OZR'5S.Y&,+*JY^5:
M&CM]ZVUAGSM0SL">;Z0T!\$%:!_0T2]02P,$%     @ E8*&5^HC\W9[ P
M$@L  !D   !X;"]W;W)K<VAE971S+W-H965T,C4N>&ULQ59M;]LX#/XK@C<,
M=X ;O\3.2YL$2--LZV'M]9:T]UFQF5B8;662W*SWZT?)L>M<$Z- !^R+)=)\
M>2B*%$<[+K[)!$"1'UF:R[&5*+4]=QP9)9!1V>%;R/'/FHN,*B3%QI%; 30V
M2EGJ^*[;<S+*<FLR,KP[,1GQ0J4LASM!9)%E5#Q=0LIW8\NS*L97MDF49CB3
MT99N8 'J?GLGD')J*S'+()>,YT3 >FQ-O?/+4,L;@0<&.]G8$QW)BO-OFKB.
MQY:K 4$*D=(6*"Z/,(,TU880QO>]3:MVJ16;^\KZ1Q,[QK*B$F8\_9?%*AE;
M XO$L*9%JK[RW6?8QV, 1CR5YDMVI6R PE$A%<_VRH@@8WFYTA_[<V@H#-P3
M"OY>P3>X2T<&Y155=#(2?$>$ED9K>F-"-=H(CN4Z*0LE\"]#/36931>?;:*_
M9/[/_?7#],O\=KD@T]LK<GW[,%\L;PS]QY*N4I!_CAR%3K6J$^T=7)8._!,.
MAN2&YRJ19)['$!_J.PBV1NQ7B"_]5H-_1ZI#NIY-?-?OMMCKUB?0-?:Z;SJ!
M8X&7=H/C=G4UG<LMC6!L8;E($(]@33Z\\WKN10OJH$8=M%F?7.>/(!56AY+'
MH+4K?W@W\-WN!7GKBJG@*Q F&Q7O+YH76-T'O&K5&2L_BX0+=:9 9(0]1U(+
MOB>>.[!=?]CDA)X=>AZ9/E*6ZMMXABWI3-(4B(2H$$PQD"]<>F[7'GK]HR%X
M_@59<D73$QA\S[.'0>\EAI;\A77^PM84++"[Q@5BYVM"VR(ZEMUVT[\JN[]Z
M;=X6<PE>JSA-\>F@>00$SZ?F?A)<RA/47"J&'1OBE[8RO'CLO\:?F8"8J9J\
MS_%M2P\DCK ^4O:,9,:E(E_0/]Z_3_@.RHIXH&D!Y+ZSZ) EFI %UD7.%<CS
MWY:$*P3$<L)S((H3M>/D":AHWOK0M?V!WV!4I?+,Z3;W8;]!!4-[Z \J+]J\
M]I((@/_YJ=8@Q((*3I;G:_G]P']I.K#[?;\\_HB++1=X(_#%7JFJO)Y^>QY>
M<4)#V^\-WGQ H7?,,#9&TP /.V]HN[V@P6F_ )[MA>Z!ONFXQWJDTYA3,A ;
M,XU)3$Z1JW)DJ;GUP#<MYYQG\7):O*%BHRLMA36JNIT^]D113F EH?C63#TK
MKG"&,ML$AU806@#_KSD6XI[0#NHQ>/(34$L#!!0    ( )6"AE=:1YL%[P(
M ! (   9    >&PO=V]R:W-H965T<R]S:&5E=#(V+GAM;-U66T_;,!3^*U:8
MV"95Y-*D%V@CM8PQ)F"(ENW934X:"\?.;(?"?OWLI$E36BJTQ[WT^-R^\QT[
M/NYHQ<6C3 $4>LXHDV,K52H_M6T9I9!A><)S8-J3<)%AI56QM&4N ,=E4D9M
MSW%Z=H8)L\)1:;L3X8@7BA(&=P+)(LNP>)D"Y:NQY5JUX9XL4V4,=CC*\1)F
MH![R.Z$UNT&)209,$LZ0@&1L3=S3J6_BRX"?!%:RM4:FDP7GCT:YBL>68P@!
MA4@9!*S%$YP#I09(T_B]QK2:DB:QO:[1OY:]ZUX66,(YI[](K-*Q-;!0# DN
MJ+KGJV^P[B<P>!&GLOQ%JRJVKRM&A50\6R=K/2.LDOAYO0^MA('S1H*W3O!*
MWE6ADN47K' X$GR%A(G6:&91MEIF:W*$F4.9*:&]1.>I\.IV/KF]O)I>7Z#)
M;'8QGZ%/<[R@(#^/;*7Q390=K;&F%9;W!M80W7"F4HDN6 SQ=KZM>37DO)K<
MU#L(^"-2)ZCK=I#G>-T#>-VFV6Z)UWUOL_MZK"#\_1#FCIS*'$<PMO0ED"">
MP J/C]R><W: H-\0] ^AAS-]Y^*" N()BGB68_;R4:*\$%&JO[P8$:8P6Q)]
M/@A+"4IV$%<I"*12S-"2\WA%*-W7U>&ZQT<#S^F>H?]%Z@^'+_2VU-].X_B.
M6:%GSZZCEA=2$7W7]5[7EDO!I6RT210564&W(F[U[/RWZ <)24'1-4D 33)>
M,"6-%(K\P>70:AG?=LX%C@$QG,&FLAN@%\!B8_B _(X_'+9TK]/M!UNZZ_D'
MX]W V<[WA^B\G%%ZKP70DI9,2=[BX;SB4<NAV]NQ];U@Q^8.W7?E]H)=F]=S
MT)PK3'?+;]H(.K[;WH9NQW5>M;GE?QWO=09.;TOO.<-]L\!N36F]8<OR+9+Z
MGNM#K 9V8VV>NTDUY3?AU5MY@\62,(DH)#K5.>D'%A+5^U,IBN?ES%]PI4^G
M7*;ZR09A K0_X5S5BBG0_ D(_P)02P,$%     @ E8*&5P3,5<#0 @  J@8
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
M3X#W6\Y5,= +E)^ YG\!4$L#!!0    ( )6"AE<V0[&*3 ,  %\(   9
M>&PO=V]R:W-H965T<R]S:&5E=#(Y+GAM;*U6VV[;, S]%<$;BA8PZDL<)VF3
M +T-ZT,O:-IMKXI-QUIMR9/D)MO7CY(3)VW2;!CV8I,T><0C2J2'<R&?50Z@
MR:(LN!HYN=;5B>>I)(>2JF-1 <<OF9 EU:C*F:<J"32U067AA;X?>R5EW!D/
MK>U>CH>BU@7C<"^)JLN2RI_G4(CYR F<E>&!S7)M#-YX6-$93$ _5?<2-:]%
M25D)7#'!B81LY)P%)^>1\;<.7QC,U89,#).I$,]&N4Y'CF\2@@(2;1 HOE[@
M HK" &$:/Y:83KND"=R45^B?+'?D,J4*+D3QE:4Z'SE]AZ20T;K0#V+^&99\
MN@8O$86R3S)O?*/8(4FMM"B7P9A!R7CSIHOE/FP$]/UW L)E0&CS;A:R65Y2
M3<=#*>9$&F]$,X*E:J,Q.<9-429:XE>&<7I\?7MQ=W-%'L^^74W(X2.=%J".
MAIY&:./@)4N8\P8F? =F0&X$U[DB5SR%]'6\ARFU>86KO,[#O8!WB3XFG< E
MH1]V]N!U6IX=B]?Y"YZ[Z#71T>YH<S-.5$43&#EX]!7(%W#&!Q^"V#_=DUO4
MYA;M0Q]/\*:E=0%$9.:4UK0@C">B!*+I@L "+Z "0DM1<ZUV);\?_N!#/_0[
MI^1_O6\1_U6Y"19+3$':>KWU-O4SC["U7(BRJC6&&6:)$7:P73E_)+';"X(-
MO><&G6ZK7[(L PD\ 6P1"J\BXS.225&>_#._)RXA$3/.?F%J)J="*$6FP"%C
M>LN[XX;=[DZL(%SK$TTU;/ $Y1*.+1<KGD$*$DMNV2.99+U&Z)K-6VE1/VYE
M[$C8;[@-D@8Z7>Z#9@CU-IO#P(T'@Z,=]D&TMEXM$D"BL("D-JV28+*F&-2V
MS[>Q<2_<LO6ZO5:^ 5HH0CF6F6N0&N<#]G*]5>!V'_O;NQCU6_$!;QV526X1
M4WC!:5)9O$1"RC2NE'[';FE-?RI&2\$-^NN3=:=S/,(58*OG!B5M3U9#8[W
MLG9;)ST>;-D&ZPVYWG?( ZQ0$&\:(K<;^"O#KB;C;33]$N3,CC:%1<,NT?3_
MUMI.S[-F:*S=F]%[0^6,<44*R##4/^YU'2*;<=8H6E1VA$R%QH%DQ1S_ $ :
M!_R>":%7BEF@_:<8_P902P,$%     @ E8*&5\E3,]/> P  [ P  !D   !X
M;"]W;W)K<VAE971S+W-H965T,S N>&ULW5?;;MLX$/T50BV*%!"LNZPDMH$X
M]:)]B!LDV?:9D<:6$(G4DE2<_OT.*5FU8]5HTA98[(LD4C.',\-SJ-%DP\6#
MS $4>:I*)J=6KE1]YC@RS:&B<L1K8/AFQ45%%0[%VI&U )H9IZIT?->-G8H6
MS)I-S-RUF$UXH\J"P;4@LJDJ*K[-H>2;J>59VXF;8ITK/>',)C5=PRVHO^MK
M@2.G1\F*"I@L.","5E/KPCN;A]K>&'PI8"-WGHG.Y)[S!SWXE$TM5P<$):1*
M(U"\/<(EE*4&PC#^Z3"M?DGMN/N\1?_+Y(ZYW%,)E[S\6F0JGUJ)13)8T:94
M-WSS$;I\(HV7\E*:*]FTMO'8(FDC%:\Z9XR@*EA[IT]='78<$O<'#G[GX)NX
MVX5,E!^HHK.)X!LBM#6BZ0>3JO'&X JF-^56"7Q;H)^:+1=WY-/R\O/5@EPO
M;LCMQXN;!3FYH_<ER/<31^$2VM!).[AY"^?_ .Z47'&F<DD6+(-LW]_!T/KX
M_&U\<_\HX.=4C4C@V<1W_> (7M#G&QB\X 7Y#J79HH3#*%HI9[*F*4PME(($
M\0C6[-T;+W;/C\08]C&&Q]!GMZB\K"F!\!5)>54WBFH&2SU&!A8IH2PC65$V
M"C+"4+D%0SL@-:#<<BI@**/C:\Y_"I?0BC=,2:*?V]#0DDJRXB7*6Y(38R;1
MD:B<-Q(!)8&G%&K5S@%A7"&USLB[-XGO!N>_?+_+!< >[0B2AM]CS)HW6S/-
M'WWQR?)[8MN7;TEDAW&X,Q[;XRAY=4Q?S6&@2_,( L\VPII*!X0;V!4(ST>I
ML#H%6QLOSSOO]O8YEA?8@7\8"DZ/$X\L5BL\WPRPXND#H1LJL.0GWOL##S_P
M#N9PZG6Q;EDR$%84G0Y-)Y[_ZGHNA[CX4I#Y7GG?$G<4>GO#*"8?GJ5EK-SG
M5KJZ^$TP=%:&?E5+/SB@GZ&=EI6FGFT\-L,%ESL5ST"!P-,>C?27JZTV?KT,
M18R@RB8#@P:& ,:9,E7TEBT=>-V>'#H"!%:B2/7*[<N&%>B8<@Q#;RW%E=9K
M 6NJS-$3G[JV%X^-KV=[86PG0=ASPAQ-F':+96OT&LPGMOPV^FWB7F(-?EG;
MOFL'>YOHG:+:H_^,NI-#77JA[<?)2]3MQ8=G1.+_ 76' ^H.[2!R7[_)?T+=
MWBCR]X;!D+K1RGUNM:MNIOGW?Q1WDGBVBT=9)VX7:?BSXA[J<)R=#K0"L39]
MMEX>NX6V&>UG^U;^HNU@OYNW_P%75*P+S*J$%;JZHW%D$='VUNU \=KTL_=<
M87=L'G/\'0&A#?#]BF.'T0WT OT/SNQ?4$L#!!0    ( )6"AE<H2K> R@<
M -HE   9    >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;.5:;6_;.!+^*X0W
MV'4!HN8[Q38)T'9[O7YH&R2YN\^*33O"RI)7DIOV?OT-Y1=1(:UKO$"\B_T2
M6B-RR!G.S/.0T?E#6?U6WUO;H&_+O*@O1O=-LWHUF=33>[M,ZY?ERA;P9EY6
MR[2!QVHQJ5>536?MH&4^882HR3+-BM'E>2N[JB[/RW639X6]JE"]7B[3ZOM;
MFY</%R,ZV@FNL\5]XP23R_-5NK WMOG7ZJJ"I\E>RRQ;VJ+.R@)5=GXQ>D-?
MO16N?]OAWYE]J+W?R%ER5Y:_N8>/LXL1<0NRN9TV3D,*S5?[SN:Y4P3+^'VK
M<[2?T@WT?^^T_Z.U'6RY2VO[KLS_D\V:^XM1,D(S.T_7>7-=/OS3;NV13M^T
MS.OV+WK8]B4C-%W73;G<#H85++-BTZ;?MG[XD0%L.X"UZ]Y,U*[RU[1)+\^K
M\@%5KC=H<S]:4]O1L+BL<)MRTU3P-H-QS>7-^P^?WG^^1=?OK[Y<WW[\_ &-
M;].[W-8OSB<-Z'>])M.MKK<;7>R +H,^E45S7Z/WQ<S.^N,GL*[]XMAN<6_9
MH,(OT^8EXA0C1A@?T,?WQO)6'_]18V,V;E2(N J7(Z_J53JU%R-(@MI67^WH
M\N>?J"*O!Q8H]@L40]HO;R#G9NO<HG*.(.^JM,F*!<1^#3%6H[28H7E6I,4T
M2W.T*NNL#>P9[+L;T-Q;]*Y<KM+B^R\U#%J55>.V$MVM:YBGKE%M%Y!/31TS
M>WAA/_^4,,)?HU.WM_>5M;TPV[^Z*A]LM7_Z6,P@>2KGJ/U85PK*Y?^= Z*N
MO -5N\!#-[#+V=36D1]?P.D5NBV;-*_1M?UJBS5(=YK.$&44<T(\"4^PX,(3
M"$P8]9[=+\I>^TH4QUI*V-RZ<1M=/9Z'$HUUTBGA'"?&[!\93@3IF>GKIT)@
MR0CZ4)40(JNJG&=-]Y)C23M-T)/+[B6FWJ2!7H,9=+Z!@@M!C-'"%A#0>1O%
MZ0Q*60;[D[J:C.PWP)C:,VC7*LP-":04*Z;"OB0)9 S\1L/QL"=:0HA -%@T
MSL'N%VA>06AL<ZXLPJ5H3)F)3&!(*)6:![)QNY87$;V)(MLXRMH58538;@<X
MN."PDQ\_<\&\D9KS1U;>6<!QNYT(->FW?K22-A(Z0=^\LYYA9\XD0<P+WZ_2
M[&<$Y;N-?;;RH-I-^@SNVUKX7!.#:[!0XMGF.]2^64+1S_[;QK K%5G1I,4B
M<X ^6&),,O@Z.N!7"P@(4-3.%>08UV&RB#!5*&&A+)"(Q*"KRF5G\QVC59X6
M35M'[._K;.4@#2K*+(LGKDS"9!0F7!V/%(I(Z:$T7/!SM^_65=4:7=>V\3>6
M&X.=KWP)%'\_::$J$!]N-,6$^[LO*2"2IOM)\BR]RW)P;J0^,\ .I4*',(D3
M'MELG)"83Z6)J- .Q 3Z4):SARS/PV$ I#J$ 7" "C<W@B*Q4MI.G(!#^ ;3
M'WMX'S],P33AY%)'XT/U0'37@H%2RE 'H+V2IP^R77L"RL7^".4R!*N$>0+&
ML%^-7*DF4GG/876C%&!9#S N#6C./":4 -9V4PC,2']C??5&0L[H WQ+8R,[
M11P MHO<1!XF F D P)T%-M26(LP#B%965@YM0FC'B@*Z7I2UIKW-'8%U(%%
M$@=*@PZ3.9(TXW8-(;LR6 HZP*X>5YXA;D6]:J-5\C1FY4J?S_K[EIWY-ITY
M:RC3'K$B8)TY);%B4*KH:8@5'&UDR.R?NSV66%'E5QHQ7'9<"@RS*A'FB(Q
M:B1)PTX:#H7'DBJM0ZYK6.0 QD-9.))B(T[/G0^R*L8U9*N?H(!3O)>QCC+Y
M>VO )-GC84I@H^0/L2KJ\CW"6AD4#14[#@L6DU(=86 <CO 01']*5L44>,V$
M@2  72-D2_<N4KHH!((;&B[ IX:$/CU5^SDK_DKW6,PHH /^N8$2B#NC>Q((
MDN&;+$%@*R$L#_(J)B40 8_R)%AZQ I8&3_,@;ATJ)K$F96@6-%N++ 4X^42
M<!9^^(H,:#V#*GL4N0)&ITF8)^XF+7+HZ9W%]D[ -'9>96U./HUG,8X-#:$
MDCY2O&/'LG&[F)!H,0$,6/28UG9-?<)E,$F2@XX>>Q1N#)1)><^P!W P> KI
M @\9XQ?AOIE NGI'Y3$$,%&DFY&[(JY.2;NH"UIU&M[% (1$O, _9WLL\6)&
M#+Z/CQAD7]R$^)'04,9I>$ )>T&M8N)H @;P'@%]$[EXCEVZ10H/%7]G</Q#
M-PX.M(ST"XO2< ;V+]+=H5@,!R3G"C/%!K"10#U+NM"2"B"LF]5@\XBX]>X'
M%+QG)HZ-$A1[D0-U4'FEWYWG#Y=LI3#G_$ALA(),([@#?HC<'F.NPE &.-(A
M2@'+94P]$1L=-8[=QP%HA%)FPK6,V\6$V @X1(D>N(5P59X?]'"7K4P*;TSR
MQ#L(B"^J>O#7LPPZ]/Y1.=9 %1(/#8$Z=/\U.PD:P@8!-SP)&E)W @K#X+G;
M8]'P$5.GPZ7($>5!)!0L>E<G8U@8YG?D9(OA@'$T%B8JG ,.)Q$49B:4A4=(
MAF5W@1S[JF/B?6^SM-6B_:JH1M-R732;3V_VTOV'2V\VW^MTW3=?/7U*JT4&
M-N5V#D/)2RU'J-I\2;1Y:,I5^_7.7=DTY;+]>6_3F:U<!W@_+\MF]^ FV'_.
M=?D_4$L#!!0    ( )6"AE?L5 B+0P,  ,,(   9    >&PO=V]R:W-H965T
M<R]S:&5E=#,R+GAM;,5676_;.@S]*X(W#'> 47\[3I<$2'M;W%RT:=!DV[-B
M,XDVV_(DN>G^_2C9\=PV#09LP%XLB28/#Z4CTZ,]%U_E#D"1QR(OY=C:*56=
M.XY,=U!0><8K*/'-AHN"*ER*K2,K 30S047N^*X;.P5EI349&=M"3$:\5CDK
M82&(K(N"BN\7D//]V/*L@^&>;7=*&YS)J*);6(+Z6"T$KIP.)6,%E)+QD@C8
MC*VI=WX1:7_C\(G!7O;F1%>RYORK7LRRL>5J0I!#JC0"Q>$!+B'/-1#2^-9B
M6EU*'=B?']"O3>U8RYI*N.3Y9Y:IW=A*+)+!AM:YNN?[_Z"MQQ!,>2[-D^P;
MWRBT2%I+Q8LV&!D4K&Q&^MCN0R\@<5\)\-L W_!N$AF6_U)%)R/!]T1H;T33
M$U.JB49RK-2'LE0"WS*,4Y/EQ\7BYNKV:KZ:WI#KV7PZOYSA;+F:KHR5S.;7
M=_>WT]7L;D[^6=%U#O+]R%&86@,X:9OFHDGCOY)F2&YYJ7:27)499$_C':3<
M\?8/O"_\DX!WJ3HC@6<3W_6#$WA!MP^!P0O^P#X<*[]!#X^CZYMU+BN:PMC"
MJR-!/( U>??&B]T/)[B''??P%/IDB3<UJW,@?$.XVH% X0@!I2)42E#R&-_3
MB._>)+X;?""_.^(I\37RT0=UL/U/RQJO_Q/;8=2'V3QF9<H+((H^ZJM?EYG$
M,07VH!5(:)D1W,B*LHRPSA-D!_26>+$=16[?$-F!/R#W=(_W1X%@-)<8_(#[
MQ)'.<RJ>;X?A\*79LX=N0!9M<GC$KZ/L)8YMSXV[56A'H4?NS)D\1T+/(#EB
MC>* K+BB^=&S[!44>K8?!CU#D-A!$)X05-0)*OIE0=$T%37\K/28F$ZC_7TQ
M3=L:*L&_8#<@*9=/=C+R[8$W[&ME@(>?='$H,%T\-7WDA2(&]M#W7IH3VT]B
M<@/8,DC.Z)KE3+&>4CI'3#4X8HWBP2O*00WV1=93;!3'K7:>'UNON"2PO6%?
M-^'03N+!,=TXO<92@-B:]BEQ/^I2-3VFLW8=>MHTII_N37N_I6++2DERV&"H
M>S9 T8BF938+Q2O3IM9<8=,STQW^98#0#OA^P[DZ+'2"[K]E\@-02P,$%
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
MLDI OM_((]9YH BRF\WAOU!+ P04    " "5@H97O<W\N)("  #G!0  &0
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
M8:;28I(6&J5%IFCMM#SMR6#O#J.O$F#-]SAVNH7@W JZ"*-N(3@W0X$?=+<
MVCX1[&X![).CBXP6F_+,B(,5V^>BVH\VK<VYU%5Y&M-IOX:74ZAI#]4Y5GE4
M\H2O#L%N2;%)<@Y2NI9=.1=#6;.*ZERINA%L5QZ</# A6%9>;BF)::$,Y/,U
M8^+Q1G70G.Y-_@!02P,$%     @ E8*&5Y9D.?(6 P  Z@D  !D   !X;"]W
M;W)K<VAE971S+W-H965T,S<N>&ULK59=;]HP%/TK5]DTM=)*2%(H=!") E,[
MC:X;:_OL)A>PZMC4=J#]][,=R*!+HU7B);&=>\X]QS?^Z*V%?%0+1 W/&>.J
M[RVT7I[[ODH6F!'5$$ODYLM,R(QHTY5S7RTEDM2!,N:'S6;;SPCE7MQS8S<R
M[HE<,\KQ1H+*LXS(EPMD8MWW F\[\(O.%]H.^'%O2>8X17V[O)&FYY<L*<V0
M*RHX2)SUO4%P/NS:>!=P1W&M=MI@G3P(\6@[5VG?:UI!R##1EH&8UPJ'R)@E
M,C*>-IQ>F=("=]M;]J_.N_'R0!0.!;NGJ5[TO8X'*<Y(SO0OL;[$C9^6Y4L$
M4^X)ZR+V+/(@R946V09L%&24%V_RO)F''8#AJ0:$&T#X&M!^ Q!M )$S6BAS
MMD9$D[@GQ1JDC39LMN'FQJ&-&\IM%:=:FJ_4X'0\'$PO/X-]POCG[=7=X/OX
M^O<4!M<CN+J^&T]_3US_:(2:4*:.X01NIR,X^G@,'X%RF%#&3#E4S]=&C>7T
MDTWFBR)S^$;F+DP$UPL%8YYB6H$?UN.#L(; -]-0SD6XG8N+L);Q1Z(;$ 6?
M(6R&496@>O@WPM^"[\F)RM)$CB]ZJS1$+8#P%%QC_)33%6'(=>5<%U2GU51V
M*SA72Y)@WS-K7:%<H1=_^A"TFU^J?!Z(;,_U:>GZM(X]'B2)S#&%E*YHBCRM
M=%M0=!R%W:=6<;/1ZOFK71-5,5$9LZ>M56IKU6J[1):>:'%B=H]<4OT"4TQL
M@V*EREJR]];D0&1[OMNE[_;A_L3V(5T?B&S/]5GI^JRVVI-ME9<HJ:C:H2[J
M"0)X02*K;+T?M^>@4SKHU!+=NT/,+":R0FG.9%-#GA-F]FV-9KXT2*)1@9C!
M<*3@B"@@UFQB2GM<9;?(%@1[:ZK9.GVU\JK#PE;UXNN69KK_M3%LQ5<)+!C:
M.XFC5]JZ_^P*0:/S2IB_<YQF*.?NEJ$@$3G7Q<E:CI87F8$[O_V_X<4M:$+D
MG'(%#&<&VFR<F64LBYM%T=%BZ0[G!Z'-4>^:"W,90VD#S/>9$'K;L0G*ZUW\
M!U!+ P04    " "5@H97O)L*QNH%  #D'0  &0   'AL+W=O<FMS:&5E=',O
M<VAE970S."YX;6RM66USVC@0_BL:KG/7SJ2Q+?/:(\Q0DK29:7*YDN0^W-P'
MQ1:@J6U128:DO_Y6AM@(&[FD_@)^V5T_SVJUCVP-UUQ\DPM*%7J*HT2>M19*
M+3\XC@P6-";RE"]I G=F7,1$P:F8.W(I* DSISARL.MVG9BPI#4:9M=NQ6C(
M4Q6QA-X*)-,X)N+Y(XWX^JSEM5XN?&7SA=(7G-%P2>9T2M7]\E; F9-'"5E,
M$\EX@@2=G;7&WH>)[VN'S.*!T;7<.4::RB/GW_3)57C6<C4B&M% Z1 $_E9T
M0J-(1P(<W[=!6_DSM>/N\4OTRXP\D'DDDDYX] \+U>*LU6^AD,Y(&JFO?/V9
M;@EU=+R 1S+[1>NMK=M"02H5C[?.@"!FR>:?/&T3L>. \0$'O'7 /^O@;QVR
MS#D;9!FM<Z+(:"CX&@EM#='T09:;S!O8L$0/XU0)N,O 3XTFX^GG$Z1_T<7?
M]U</XR\7-W=3-+XY1U<W#Q?3N^OL_#T:KPB+R&-$WT/MO)^2B*(I#5+!%*,2
MO3VG"N[+=^@-8@FZ6_!4DB240T<!2/TH)]@"^K@!A \ \M$U3]1"HHLDI&&%
M_\3N/[#X.Y"</$/X)4,?L37@7X$Z1;YW@K"+?70_/4=OW[RKPO7+80QX?CZ
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
M=_:- N42[/Y&2G,(G VZ5R_]"U!+ P04    " "5@H97'??%J*\#  #I#P
M&0   'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6RU5UUSFS@4_2L:VME)9MJ
M^'+(VLPX3MJZD\UFZF3W8:</"KZV-05$)1&W_?65@&!C,-FD[HN-Q#V'<R[H
MZFJX9OR+6 %(]"V)4S$R5E)F9Z8IHA4D1)RP#%)U9\%X0J0:\J4I,@YD7H"2
MV+0MRS<30E,C'!9S-SP<LES&-(4;CD2>)(1_/X>8K4<&-AXG/M'E2NH),QQF
M9 DSD'?9#5<CLV:9TP1205F*."Q&QAB?3?!  XJ(?RBLQ=8UTE;N&?NB!]/Y
MR+"T(H@ADIJ"J+\'F$ <:R:EXVM%:M3/U,#MZT?V=X5Y9>:>")BP^%\ZEZN1
M<6J@.2Q('LM/;/T!*D.>YHM8+(I?M*YB+0-%N9 LJ<!*04+3\I]\JQ*Q!<#N
M'H!= >S_"W J@%,8+945MBZ().&0LS7B.EJQZ8LB-P5:N:&I?HTSR=5=JG R
MG%[?CJ_?3\^O+M%X-KN\G:&W:,*2C*602H'8 DU32=(EO8\!C84 -7ET 9+0
M6!RKV+O9!3IZ?8Q>(YJBVQ7+!4GG8FA*I4T_P8PJ'>>E#GN/CK\C>8(<_ ;9
MENUTP"?]\(\DW0<W54;JM-AU6NR"S]G#]XZF5,+;*_6)S3LR\-^5BD=3"8GX
MW.6U)'>[R?7*/!,9B6!DJ*4G@#^ $?[Q"OO6GUW.#T36R(-3Y\'I8P_?<R8$
M&B<L5U]#E],2[A=P73(>0L_%WM!\V';P1%!#F5LK<WN5C:,H3_*82/6"E#XN
MZ0^B"T.7R)+)VWJ^@RUK1V0[R#ZU_&Z17BW2ZQ5YK>IP3_*\5EYLIY4\KZW+
MMX)N77ZMR^_5=<O)'- U2:!+5B_VN5_O@<@:-@>US<'O7,6#0^;A0&2-/)S6
M>3CM?=V70M*D6"EW A9YC*[H M"1JMC?@7!QW&6^GQ%[);3+:2_RA4Z#VFGP
M:_4J:"TYUPV"G247M)9<(ZBA#%N;G=8Z6,6JJ!JKWAGLEH:N*.Q9>X1NM03X
M5ZI6A6Z4+6R[N]IPAP-W7Q(W^S+NW>["2=$2 5<M9%QD3ZQHUBWSH)OPH=B:
MMC?;,'9^9R7#O;O\LW-Q(+9F+C8;/^[?^5]2S9Z@Q-;^<M8/?:G;30>!^UN(
M)RL:;G<1 ?9W5V.[B]@.:FK;=!&XOXUX5D7S6PH&=JN@M8-\;Y_,31> >S?7
M)^O9H)5 '.!=9>T@U8;M*#.WSF'Z$/P7X4N:"A3#0J&LDX$RQLMS93F0+"N.
M9O=,JJI67*[461RX#E#W%XS)QX$^[=6G^_ G4$L#!!0    ( )6"AE=!*/[_
MT (  *T,   9    >&PO=V]R:W-H965T<R]S:&5E=#0R+GAM;+57;6^;,!#^
M*Q:KIE9: X&\=@E2&KHN4]=%)=T^.^ $J\9FMA.Z?S\;* HK96E%OP2_W//X
M[O$=.28IXP\B0DB"QYA0,34B*9,+TQ1!A&(H.BQ!5.UL&(^A5%.^-47"$0PS
M4$Q,V[(&9@PQ-=Q)MK;D[H3M),$4+3D0NSB&_,\E(BR=&EWC:>$.;R.I%TQW
MDL M\I&\3Y9<S<R2)<0QH@(S"CC:3(U9]\(;:_O,X"=&J3@8 QW)FK$'/5F$
M4\/2#B&" JD9H'KLT1P1HHF4&[\+3J,\4@,/QT_L7[+852QK*-"<D5\XE-'4
M&!D@1!NX(_*.I5]1$4]?\P6,B.P7I+GM4!D'.R%97("5!S&F^1,^%CH< +J]
M%P!V ;"/!3@%P#D6T"L O4R9/)1,!P]*Z$XX2P'7UHI-#S(Q,[0*'U-][;[D
M:A<KG'07MZO9[?7B\N8*S'S_:N6#<S +0ZPO!1*PH'EFZ2LZ]9"$F(@S97+O
M>^#TY R< $S!*F([ 6DH)J94+FEB,RB.O\R/MU\X_D<@.\#I?@*V93LU\'DS
M_!NDC7#O^-/M*MQ4.I9BVJ68=L;GO"0F51F'*9;H_$9E<ZCDDY!N\9H@,!,"
MR5J%<LY>/:<N^PN1P !-#577 O$],MR/'[H#ZW.=7FV2>2V15;1T2BV=)G;W
MFK$PQ834*98C!QE2O]?VKCVR')4 ^T,ICK+R_F=5<;Y7.M]K='YU-^_4.=Z(
M>NU5MTGFM4164:M?JM5_A[+IMZEEFV1>2V05+0>EEH,WETV.[!^D^KAO6?]4
MS3%&7J,/;XQP6$8X;(YPZ=?65B/JM?G0)IG7$EE%K5&IUN@=:FO4II9MDGDM
MD56T')=:CM]<6^-G?R/=T?/B.LK*:_3BM3&:![VA;N2_0[[%5 ""-HK>Z@Q5
MJ?.\.<XGDB59N[AF4C6?V3!2WQ.(:P.UOV%,/DUT!UI^H;A_ 5!+ P04
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
MYT!]F\A1'3$E(/]?4"JV#VJ!:O@/_P-02P,$%     @ E8*&5U^=+Z$0"@
MGVL  !D   !X;"]W;W)K<VAE971S+W-H965T-3$N>&ULQ9U=;^.X&87_"N$N
MBEU@)[8^_#5-#"06R:9%)D$RL[TH>J'83"*,++F2G$R*_OB2DF*9EDQ+W;-)
M+A+;(1]2>H_Y4D>4=/H2)]_3)R$R\F,51NE9[RG+UI_[_73Q)%9^>A*O123_
M\Q G*S^3;Y/'?KI.A+_,*ZW"OCT8C/HK/XAZL]/\LYMD=AIOLC"(Q$U"TLUJ
MY2>O%R*,7\YZ5N_M@]O@\2E3'_1GIVO_4=R)[-OZ)I'O^EO*,EB)* WBB"3B
MX:QW;GWF[E15R$O\%HB7=.<U49MR'\??U9O+Y5EOH'HD0K'(%,*7?Y[%7(2A
M(LE^_+N$]K9MJHJ[K]_H+-]XN3'W?BKF<?B/8)D]G?4F/;(4#_XFS&[CE[^*
M<H.&BK>(PS3_35[*LH,>66S2+%Z5E64/5D%4_/5_E#MBIX+D-%>PRPKV?@7W
M0 6GK."T;<$M*[AM6QB6%89M*XS*"J.V%<9EA7$>K&+OYJ'Q_,R?G2;Q"TE4
M:4E3+_+XYK5E1()(2?$N2^1_ UDOF]U]O9[__=/%^1WUR/SZZH9^N3O_>GG]
MA7PBY\MEH.3BA^0R*D2OQ/.S)S(_"--?9)%O=Q[Y^:=?R$\DB,C7IWB3^M$R
M/>UGLF>*WU^4O;@H>F$?Z(5#KN(H>TH)C99BV5#?,]>?&NKWY1[9[A;[;;=<
MV$;@]2([(8[U*[$'MM/0GWG[ZG;3YOR^UNGO:YV9J_]M$YW(J@=;YVVJ.WGU
M@2$4SE:A3LYS#BGTR4_$)S7<+,D\7LDQ."V$>)XD?O0HY+B8D?M7LEONQG_-
M/SY_\9,F.5T43;K-3:KA_W.Z]A?BK"?']U0DSZ(W^_.?K-'@+TU:0,(\)(PB
M80P)XR"8IBAWJRC71)_-_?2)+(/G8"GD:"43E]30DJS]8$FDK%*EH\8QS$CM
M*AHDS"M@PQRF)A_/,\N=RJ_^\ZX8D"TR)(R#8)H8AELQ#(UBN!')0@X5<MI%
M;L5R4TR0+E4V$^3\\3$1CWXF"/.#A/SFAQM!KA_(718OOI/KM2K;)!1CBUV%
M@H1Y!<RR=I0R.)E,AGM20;;)D# .@FE2&6VE,C)*I0C[8C<'B1_JM6@20<$:
M[7XGY?&!OJ/G#86L_4)>O9#C6J.]D#44&@SWXLJ,V]<U%""8%HKQ-A1C8RB^
M18E8Q(]1\!\Y<FL16<1IUA2.<6V('+FU<!@;[?I=&]<B4F^1(EMD2!@'P;3P
M3K;AG9@S=,-WC&PC_BM9BR2(&R=V1F[7H1<)\\Q;[)!7X2=-TPZ*[ 5#PC@(
MIDEDNI7(U+C#+J,L":(T6)#G/"W'#R23*3O-Q^@X3\VIE([,[D':>$AY8>1W
ME0H2YDWK66%8&SF0+3(DC(-@FBRL065H#+H*(]YD:>9'RR!ZU 72Z%0,ZIEB
M4LL4YDYT#7BK-BFT30:E<11-#_J.BV5U#7KYW??O0]$BZ%;M*S><UH-N[$3G
MH+=IDT+;9% :1]'TH-M5T.UCAVYR%D VRO%YB!.R\,/%)O0/!]F(ZSKB0VG>
MD4T='IX>0/O!H#2.HND"J9Q#RV@CS:Z"*%AM5HU:@#J 4)H'I5$HC4%I'$73
M]5'Y@);[_M:R!;4)H30/2J-0&H/2.(JF*ZLR%:VCKF*WU 2U#*$T[\BF&HY<
MH?U@4!I'T72!5%:B9?82K_P?!U,3TJ6;0VD>E$:A- :E<11-UT?E;UKC#TA-
M2(-P#J5Y4!J%TAB4QE$T75F5M6J9G<;.J0EJJ4)IWI%--1TU05U5*(VC:+I
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
M%T,5=5Y>W)4ODJW-S=0SDY(5YG$%1-6QVD#]OF1,OKWH#NKKT]F_4$L#!!0
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
M,Q#_;PCAKYW,07DG.?L/4$L#!!0    ( )6"AE>A'L@.D0,  .0,   9
M>&PO=V]R:W-H965T<R]S:&5E=#4V+GAM;*U776_3,!3]*U:8T"9!\YVVHXVT
M-D'PL#%M#)Z]Q&VL)7:QW1;^/;:3AC0Q9<#ZT,;..>?>>VS9M[,]94^\0$B
M[U5)^-PJA-A<VC;/"E1!/J(;1.2;%645%'+(UC;?, 1S3:I*VW.<R*X@)E8\
MTW.W+)[1K2@Q0;<,\&U50?9C@4JZGUNN=9BXP^M"J D[GFW@&MTC\;"Y97)D
MMRHYKA#AF!+ T&IN7;F7Z53A-> +1GO>>0:JDD=*G]3@8SZW')40*E$FE *4
M/SNT1&6IA&0:WQI-JPVIB-WG@_I[7;NLY1%RM*3E5YR+8FY-+)"C%=R6XH[N
M/Z"FGE#I9;3D^AOL&ZQC@6S+!:T:LLR@PJ3^A=\;'SH$J6,F> W!ZQ."WQ#\
MAN _-T+0$(+G1@@;@B[=KFO7QB50P'C&Z!XPA99JZD&[K]G2+TS4/KD73+[%
MDB?BF_0S^'BS_'2=@MOT#MQ_N+I+P7F"!,0EOP!OP<-] L[/+L 9L $O($,<
M8 (>"!;\36?B<T&W'))<3IX=C6>VD&FJ8';6I+2H4_)^DY(/KBD1!0<IR5%N
MX">G^=,3?%O:TWKD'3Q:>"<%/V5B!'SW#? <SS?DLWP^W3.5\W_1TW^.?F2&
MWVX87^OY?[%A3&M<JP1F%77Z7?(-S-#<DL<;1VR'K/CU*S=RWID,?DFQY"7%
MTA<2.UJ*H%V*X)1Z?".O$4PR6B'3 M3<2'/5;;&+PR *9O:N:^P0-!Z'DV-0
M,@1YCA\XQZATB'*G012VJ*,2P[;$\&2)7_5!CW( =XC)>PN0;?6(&*"KP]DC
M[SXNY$&#R5J>5O+.P)G)C3I,V,W.][U>I4L3:CQQ>WX8M?JHU( *O&AB]B-J
M_8A.^I&N5O*&Y;I^0;,G />0F0_9:!#?\WLY+H>8/B090MRH9ULZQ$P\<YWC
MML[QBZY[CLNM,%X6B[%AM<)PVG/"A)JX7L\,HU;0TTH-J, /';,CD]:1R4E'
M%FIG@W-YM>:T+"'C8"/]T&9<F,JNU<:=))Q1T%]_$RB,G.ZGOQ^&%'<4]GQ*
M32 _,ALP;0V8GC0@J9?X+RR8FBSH.6#"_,&!(44ZT#/ A!D88'?:M@JQM>Z7
M.<CHEHCZ0FYGVY;\2G>BO?F%>[ET#?.);.'KCON7?-W_7T.VQH2#$JUD*&<T
MEKN5U3UU/1!THYO&1RID"ZH?"_DW!#$%D.]7E(K#0 5H_]C$/P%02P,$%
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
MC;V=>\&&A*F0, T2-H6$S2!A<TB8#@DS(&$+2-@2$F9"PJS1<=D_DGJ'#Q&
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
M\+[GI\7*S_YO??%8K0MGRVZRO)Y]F1\8O]A>I E4$6.DD%!$ I3""PD!LD)
M 9_#@@CO001O0O*JI[V<'4P$;)OOQJ 3-%XQR,$.E1,@8232#*.D3.'ZA0]J
MJ&C>A C>A7QH5BN6[J\7T>U\TGOMU:JP^O-N=KMVWI/I='9P,2,(=R)@]\HH
M5*HU5)1P'4(KJ"B!,@DT=7S$0Q7UWD3PYB2[:YJU=FU;=;1PA*<0.G8"2H=Q
MRNH43EQY(%\1R%=N<7LF6R4N]D+O2^,MB. ]R(,T\]GDRVS>]ZP#4QM>^4NG
M$C@I901.*&TTFN'"^(I OI+BBZ6)U0%]O)T0O)]X5]?3^]E\3HI"K/B3&*]]
M@V!Y&*P(@Y5'8?M9=F\-)&\-/M?=RJ@>'$@2K\Z-5=; .8C :1&G,50ED*\(
MY"NWN+V!U'>[Q!T0QJ_X);_B7WLF4I&15LY;W<9DRT=E*T9E*\=BVS^?WG%(
M.>ZFAAQIB;\]SV.RY:.R%:.RE6.Q[9]G;XTD;XV>FH23A.%QT$UF!$HI/-EA
M5")2F(0C40Y>$?FPA\KJK9/DK=/)>3B)[<Q+2D@"1BE)P"@I21C6\CE<E/0N
M2O(NZI1TG,0.1\'54D: A+-00@QZ*1(+UR,$3!H-!7P.1R6]HY*\HQJ4C9/8
MV;R4&J;9,@JFA(3Y=0HFXAAFF@L*YU(!TYM\P$,%]89*\H;JF*^7Q'8/U.TH
M)"<@J/<=A91\*$.E\@9+\@;K"6Y>$N8'JH@AT,<?9RF.LY1\E$-5]#9,\C;L
MN(.7Q$:.B!7,OQ&P5*0&)L_#V(HPMI(/;J!XRGLVQ7NV0(^OB(T5D\)K!X42
M<+,_#^(J@KA*/KJAZGECIWAC=\SQ*KR!XI1!Q10$+)4.[=J$L15A;"4?VE#I
MO(=2_*[-A_J^7[B\7T[O^J7T7]&G_@"SRZJ-_HY\1='69]'2CFJI1F7+1V4K
M1F4KQV+;/^T[Y8!CUP..6Q X;D7@N"6!X]8$/H?'4][C*=[C<25FBBBUDT+%
ML+*"P*6QA1L(.0&3:0^#*QD*9TP*MRE+/K*ARGE'IWA'%U)HI@B3%CN7P"4@
M@7/22;@C0<!Z923<J2XH7"S3!.Y(\!$.5=!;.L5;NF/U9HK8XU)&0/=&P5QJ
MH'LC8%J@W=:"@!F9.NA(^-"&2N?-F^+-VU,S7HJHK%,I&M@$RFG4*PD7Z!R<
M)0H*EFCDBOG APKKK9[BK=[).2^%?9?#]2H$2@A<-$# I$IQ'Z5J^- "L^1#
M'2JE]WN*]WNGI+P445+7!PY5Q"AD2'("E,8)='T$JI\,T"A_#M.GO>G3O.D;
ME//2A"&+<7$S!1-)##,/!$S)-(6%X13,"E31Q\<[5$]O S5O X^EO#11E:<<
M%(X H;UQ J1@$6!!@#0LE2SYD(9*YNV?/F+_AJ>^-"ZK,PG<6"= SJ%.2-7Q
MP1Y=$"A<4\J'.U1.;ZLTOU-U/ >FB5VF-,45501.*F?0G1V!?$4@7\D'.%3
MG;N8>+\2F ?3A(?0VL([53(")U8Y0K@7%<A7!/*5?)1#5?3>1?/>A:N(T81G
M233<6LK"8'D8K B#E7Q80V7SAD7SAN58&E$3%D/:OIM [:B;@40**Z?R0+XB
MD*_DPQLJGS<MFC<MVR3BK-<PZZ\977.WN7W]Y)PB?YR3[TX<DRT?E:T8E:T<
MBVW__'MOI9-Q<XIZ) .S/<]CLN6CLA6CLI5CL>V?9V_\-&_\N)RB)HQ>HN$=
M5AD!DQ*MQ7,")F*A48T(@;/.PHW[DH]KZ,V^WNZ9(WM\ 1E%0Q@ME4 _EA$P
MD3BD'P%+$@-A!0$S-D5K:SZ\H?)Y=V=X=W<LG6@(NV70[:L$2FF8S,H)E) I
MJ@2A8+&%*8N2#VRH<-[C&=[C/369: A[9N$=I1F%2B1<:!.H_B3!93:!,A+>
MZ5KR80^5U7L]PWN]DU.)AK!@*2I6(E#".#2RB0)#+6$6C$ 9#;<=2C[.H3IZ
MRV=.*4,,S((9:K,):TG8-4)+C**TQ"A*R^<P?F;G@1*\\3OQ;CB#;1FZ&X[
M".A0<@*$[X8C0.A27O(!#A706T##6\!C*41#6#&-NAVQQP2??9 3H 0FJ L"
M)(R!V08^IJ&:>=]G>-_WA!RBP9M&J$MD!"B%PS.G0'!7KR! 0@LTAI_#1AEO
MHTS8[5Z'\Q"&V!]*$WC?7T;!A(+;2'D86Q'&5O+!#17/>Q,35H1X)']H"/]A
M$H4&,@$3!BX#\S"V(HRMY",<^G@=[U(L[U*XW*'%1B%%3R#)@E!Y$*H(0I5\
M2$,E\\[$/JW\T&*;8!R^YY> Z<2A:VT86Q'&5O*A#97.>Q/+>Y//JX=<UHO%
MW7)VN5DYKY)&S623/;SK5X(G9P_Y(YZ:51J5+1^5K1B5K1R+;;\G>#ME1ZY(
MM*-6)([*EH_*5HS*5H[%MG^>O=VSPRL2+?98.H8%A!F!,C%\:$Y.H$2L+:RU
MH6#2PB<ME'Q00T7SOLX^O1C1$AXL@0_AR B4EC%<$Q(HERBD'6$?4[2IQX<V
M5+J=YP4^K0K14L_C0!6<!"I!SR,B0-(JF#0D42C9RD<U5#7OZ>SS%B!:HK00
M/B0P(T ./NDE)T 2W^5#H91%3U]\#F=GO;.S(Q<?6NRY##2U&05"XYG H%M]
M")"$.P\E'^)0";V_L^,5'?)4)R\0QF3++?:"+Z'C)C#PV5%C?:G]YXEZK^B>
MH8#1$;M-J%-3(-BI*0RJ>R) Z Z'D@]SJ(S>/SK>/YZ8M>793NW7CO")< X>
M]8@%<40AX()KK$/NGQ+O2QWO2X_E@1VQVQ5#0T^ T.6-P"B8D2Q($%PQ\!$-
M5<S[-\=OASTA"^R(&D:X ",P$JX"<@($D_,%193"+"8?ZU MO4=R8560AU-*
M#ML6Y> >0T:@=(QJ^(*XBB"ND@]LJ'#>)[DC/BDL_>NH<D2L'H'2L"PY#^(J
M@KA*/KJAZGFKY(Y8)2;UZXBGI4-O&8#) S!% *;D0QDJU<ZCU'E_="SEZ_##
M "V^M8U .50LE0=Q%4%<)1_6J;*=[[SY9E$UU^MW%+7197VW[#;O)GG\]/$]
M2#^MW_X#/G\K7F6"^#P7KXK-6XX\_>:E2[],FNO9LHWFU55_J/C'U=!I-N\Q
MVOS2U;?K]^Y\J;NN7JQ_O*DFTZI9 ?J_7]5U]_#+Z@"/;Y.Z^#]02P,$%
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
M<W<MS&)%:0W,>RZ$W@LV0+>JXU]02P,$%     @ E8*&5SO[986$ @  O0<
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
MU+N.GX=2KSU?:WS^=U(]GN\MU\=?EE\G)R_4!>=T6U&?_P)02P,$%     @
ME8*&5](T9!3L 0  !R8  !,   !;0V]N=&5N=%]4>7!E<UTN>&ULS=I=3\(P
M% ;@OT)V:UCIU_R(<*/>JA?^@;H=9&%;F[8@_'N[ 28:)1I,?&]8H.UYSWJ2
MYXKKIZVC,-JT31>FV2)&=\58*!?4FI!;1UU:F5O?FIB^^A?F3+DT+\3$9%*P
MTG:1NCB.?8UL=GU+<[-JXNANDWX.M>VFF:<F9*.;W<8^:YH9YYJZ-#&MLW57
M?4H9[Q/R='+8$Q:U"V=I0\:^3.A7O@_8GWM8D_=U1:-'X^.]:=,NMFE8B-N&
M0GZ\Q!<]VOF\+JFRY:I-1_+@/)DJ+(ABV^2[HF?'DV.Z8=I]\I/SAS+' M/.
M1V]=2!/S]/NXPTCZTV.7"I&/]?%7?$],I4]^/^JG75'UP^QTO:_6+X=Y!#8\
M3K_CCS-^K__+/@1('Q*D#P72AP;IHP#IXQRDCPN0/BY!^N 3E$901.4HI'(4
M4SD*JAQ%58["*D=QE:/ RE%D%2BR"A19!8JL D56@2*K0)%5H,@J4&05*+(*
M%%DEBJP215:)(JM$D56BR"I19)4HLDH4626*K!)%5H4BJT*15:'(JE!D52BR
M*A19%8JL"D56A2*K0I%5H\BJ4635*+)J%%DUBJP:15:-(JM&D56CR*I19"U0
M9"U09"U09"U09"U09"W^4]9G:Y=_'#\\\];4W2&?#?__FKT!4$L! A0#%
M  @ E8*&5P=!36*!    L0   !               ( !     &1O8U!R;W!S
M+V%P<"YX;6Q02P$"% ,4    " "5@H97>6XXBNT    K @  $0
M    @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4    " "5@H97F5R<
M(Q &  "<)P  $P              @ '+ 0  >&PO=&AE;64O=&AE;64Q+GAM
M;%!+ 0(4 Q0    ( )6"AE?]212TPP4  -P>   8              " @0P(
M  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4    " "5@H97OV32
MY2P&  #V&@  &               @($%#@  >&PO=V]R:W-H965T<R]S:&5E
M=#(N>&UL4$L! A0#%     @ E8*&5W@VL*R#!@   AH  !@
M ("!9Q0  'AL+W=O<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4 Q0    ( )6"
MAE?4SGC/#0,  +4*   8              " @2 ;  !X;"]W;W)K<VAE971S
M+W-H965T-"YX;6Q02P$"% ,4    " "5@H975<; UU0+   5;@  &
M        @(%C'@  >&PO=V]R:W-H965T<R]S:&5E=#4N>&UL4$L! A0#%
M  @ E8*&5Q$S.9G)!P  ,2$  !@              ("![2D  'AL+W=O<FMS
M:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    ( )6"AE="&[Q7K0X  ,XK   8
M              " @>PQ  !X;"]W;W)K<VAE971S+W-H965T-RYX;6Q02P$"
M% ,4    " "5@H97:>?,D0(4  #./0  &               @('/0   >&PO
M=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%     @ E8*&5Q5=,C\O!P
M2Q4  !@              ("!!U4  'AL+W=O<FMS:&5E=',O<VAE970Y+GAM
M;%!+ 0(4 Q0    ( )6"AE?1:F;LN0,  &L(   9              " @6Q<
M  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L! A0#%     @ E8*&5[OX
MGO!"!   P0L  !D              ("!7&   'AL+W=O<FMS:&5E=',O<VAE
M970Q,2YX;6Q02P$"% ,4    " "5@H97-PP@N]<%   5#@  &0
M    @('59   >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;%!+ 0(4 Q0    (
M )6"AE?LYE1URPD  $D:   9              " @>-J  !X;"]W;W)K<VAE
M971S+W-H965T,3,N>&UL4$L! A0#%     @ E8*&5[5PEUZU @  ! 8  !D
M             ("!Y70  'AL+W=O<FMS:&5E=',O<VAE970Q-"YX;6Q02P$"
M% ,4    " "5@H975/W0-!H+  !G)0  &0              @('1=P  >&PO
M=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    ( )6"AE<" 4X:TPH
M !8>   9              " @2*#  !X;"]W;W)K<VAE971S+W-H965T,38N
M>&UL4$L! A0#%     @ E8*&5V0.%93- P  V@P  !D              ("!
M+(X  'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"% ,4    " "5@H97
M%!#,G@8$  !+"0  &0              @($PD@  >&PO=V]R:W-H965T<R]S
M:&5E=#$X+GAM;%!+ 0(4 Q0    ( )6"AE=7Z;Y5K ,  ,H,   9
M      " @6V6  !X;"]W;W)K<VAE971S+W-H965T,3DN>&UL4$L! A0#%
M  @ E8*&5Y&I#H-I"0  V2D  !D              ("!4)H  'AL+W=O<FMS
M:&5E=',O<VAE970R,"YX;6Q02P$"% ,4    " "5@H974BP<WL0$   (#
M&0              @('PHP  >&PO=V]R:W-H965T<R]S:&5E=#(Q+GAM;%!+
M 0(4 Q0    ( )6"AE<Y(4>L"P\  &PN   9              " @>NH  !X
M;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L! A0#%     @ E8*&5VQ#U&L4
M P  'PH  !D              ("!+;@  'AL+W=O<FMS:&5E=',O<VAE970R
M,RYX;6Q02P$"% ,4    " "5@H97.RY0$?0"  !,!P  &0
M@(%XNP  >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+ 0(4 Q0    ( )6"
MAE?J(_-V>P,  !(+   9              " @:.^  !X;"]W;W)K<VAE971S
M+W-H965T,C4N>&UL4$L! A0#%     @ E8*&5UI'FP7O @  $ @  !D
M         ("!5<(  'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6Q02P$"% ,4
M    " "5@H97!,Q5P- "  "J!@  &0              @(%[Q0  >&PO=V]R
M:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0    ( )6"AE=@ =X(TP0   X2
M   9              " @8+(  !X;"]W;W)K<VAE971S+W-H965T,C@N>&UL
M4$L! A0#%     @ E8*&5S9#L8I, P  7P@  !D              ("!C,T
M 'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q02P$"% ,4    " "5@H97R5,S
MT]X#  #L#   &0              @($/T0  >&PO=V]R:W-H965T<R]S:&5E
M=#,P+GAM;%!+ 0(4 Q0    ( )6"AE<H2K> R@<  -HE   9
M  " @235  !X;"]W;W)K<VAE971S+W-H965T,S$N>&UL4$L! A0#%     @
ME8*&5^Q4"(M# P  PP@  !D              ("!)=T  'AL+W=O<FMS:&5E
M=',O<VAE970S,BYX;6Q02P$"% ,4    " "5@H976_]EG?D#  "Y%   &0
M            @(&?X   >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM;%!+ 0(4
M Q0    ( )6"AE='+\(5300  .44   9              " @<_D  !X;"]W
M;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#%     @ E8*&5[W-_+B2 @
MYP4  !D              ("!4^D  'AL+W=O<FMS:&5E=',O<VAE970S-2YX
M;6Q02P$"% ,4    " "5@H97^,C$L-8#  #I$P  &0              @($<
M[   >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4 Q0    ( )6"AE>6
M9#GR%@,  .H)   9              " @2GP  !X;"]W;W)K<VAE971S+W-H
M965T,S<N>&UL4$L! A0#%     @ E8*&5[R;"L;J!0  Y!T  !D
M     ("!=O,  'AL+W=O<FMS:&5E=',O<VAE970S."YX;6Q02P$"% ,4
M" "5@H97W!E7LGD"  "D!@  &0              @(&7^0  >&PO=V]R:W-H
M965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    ( )6"AE>#M@2O'0(   $%   9
M              " @4?\  !X;"]W;W)K<VAE971S+W-H965T-# N>&UL4$L!
M A0#%     @ E8*&5QWWQ:BO P  Z0\  !D              ("!F_X  'AL
M+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"% ,4    " "5@H9702C^_] "
M  "M#   &0              @(&! @$ >&PO=V]R:W-H965T<R]S:&5E=#0R
M+GAM;%!+ 0(4 Q0    ( )6"AE>K-<KVMP(  '0)   9              "
M@8@% 0!X;"]W;W)K<VAE971S+W-H965T-#,N>&UL4$L! A0#%     @ E8*&
M5V*4#@ZO P  L1(  !D              ("!=@@! 'AL+W=O<FMS:&5E=',O
M<VAE970T-"YX;6Q02P$"% ,4    " "5@H97CHS1.#\$  !<%0  &0
M        @(%<# $ >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;%!+ 0(4 Q0
M   ( )6"AE</Q7[(+ ,  (<*   9              " @=(0 0!X;"]W;W)K
M<VAE971S+W-H965T-#8N>&UL4$L! A0#%     @ E8*&5ZY-J!,C @  J 4
M !D              ("!-10! 'AL+W=O<FMS:&5E=',O<VAE970T-RYX;6Q0
M2P$"% ,4    " "5@H97X:+&Q,T$  !$&   &0              @(&/%@$
M>&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0    ( )6"AE>_A;N8
MN0,  *,/   9              " @9,; 0!X;"]W;W)K<VAE971S+W-H965T
M-#DN>&UL4$L! A0#%     @ E8*&5W$O7@_/ P  "!   !D
M ("!@Q\! 'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6Q02P$"% ,4    " "5
M@H977YTOH1 *  "?:P  &0              @(&)(P$ >&PO=V]R:W-H965T
M<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    ( )6"AE?.A1".@P0  $H5   9
M          " @= M 0!X;"]W;W)K<VAE971S+W-H965T-3(N>&UL4$L! A0#
M%     @ E8*&5WE>\M'. @  - D  !D              ("!BC(! 'AL+W=O
M<FMS:&5E=',O<VAE970U,RYX;6Q02P$"% ,4    " "5@H97PX6JT:D"  !>
M!P  &0              @(&/-0$ >&PO=V]R:W-H965T<R]S:&5E=#4T+GAM
M;%!+ 0(4 Q0    ( )6"AE>9$F0?_@,  )\4   9              " @6\X
M 0!X;"]W;W)K<VAE971S+W-H965T-34N>&UL4$L! A0#%     @ E8*&5Z$>
MR Z1 P  Y P  !D              ("!I#P! 'AL+W=O<FMS:&5E=',O<VAE
M970U-BYX;6Q02P$"% ,4    " "5@H97[XOLA9("  #.!P  &0
M    @(%L0 $ >&PO=V]R:W-H965T<R]S:&5E=#4W+GAM;%!+ 0(4 Q0    (
M )6"AE=X8I.(&@8  ,TS   9              " @35# 0!X;"]W;W)K<VAE
M971S+W-H965T-3@N>&UL4$L! A0#%     @ E8*&5Q-;45Q.!P  DU(  !D
M             ("!ADD! 'AL+W=O<FMS:&5E=',O<VAE970U.2YX;6Q02P$"
M% ,4    " "5@H97*4\6VL -  !9:@  &0              @($+40$ >&PO
M=V]R:W-H965T<R]S:&5E=#8P+GAM;%!+ 0(4 Q0    ( )6"AE>-A9Q&V@(
M -\'   9              " @0)? 0!X;"]W;W)K<VAE971S+W-H965T-C$N
M>&UL4$L! A0#%     @ E8*&5]&PI>"_ @  M@<  !D              ("!
M$V(! 'AL+W=O<FMS:&5E=',O<VAE970V,BYX;6Q02P$"% ,4    " "5@H97
M(R0C\GH"  "V!0  &0              @($)90$ >&PO=V]R:W-H965T<R]S
M:&5E=#8S+GAM;%!+ 0(4 Q0    ( )6"AE<[^V6%A (  +T'   9
M      " @;IG 0!X;"]W;W)K<VAE971S+W-H965T-C0N>&UL4$L! A0#%
M  @ E8*&5TX.I>=$ @  B@8  !D              ("!=6H! 'AL+W=O<FMS
M:&5E=',O<VAE970V-2YX;6Q02P$"% ,4    " "5@H97B ?J"S(#  #($P
M#0              @ 'P; $ >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0    ( )6"
MAE>7BKL<P    !,"   +              "  4UP 0!?<F5L<R\N<F5L<U!+
M 0(4 Q0    ( )6"AE>%.:,>4@4  $ K   /              "  39Q 0!X
M;"]W;W)K8F]O:RYX;6Q02P$"% ,4    " "5@H97M7%@?!8"  "J)@  &@
M            @ &U=@$ >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"
M% ,4    " "5@H97TC1D%.P!   ')@  $P              @ $#>0$ 6T-O
F;G1E;G1?5'EP97-=+GAM;%!+!08     20!) /83   @>P$    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// 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)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* 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;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.23.3</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>205</ContextCount>
  <ElementCount>313</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>60</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>6</UnitCount>
  <MyReports>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00090 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00100 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00200 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00205 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>10101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentation</Role>
      <ShortName>DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>10201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomers</Role>
      <ShortName>REVENUES FROM CONTRACTS WITH CUSTOMERS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>10301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestments</Role>
      <ShortName>CASH, CASH EQUIVALENTS AND INVESTMENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>10401 - Disclosure - ACCOUNTS RECEIVABLE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureAccountsReceivable</Role>
      <ShortName>ACCOUNTS RECEIVABLE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>10501 - Disclosure - INTANGIBLE ASSETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureIntangibleAssets</Role>
      <ShortName>INTANGIBLE ASSETS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>10601 - Disclosure - FINANCING ARRANGEMENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureFinancingArrangements</Role>
      <ShortName>FINANCING ARRANGEMENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>10701 - Disclosure - COMMITMENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureCommitments</Role>
      <ShortName>COMMITMENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>10801 - Disclosure - LEGAL CONTINGENCIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureLegalContingencies</Role>
      <ShortName>LEGAL CONTINGENCIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>10901 - Disclosure - STOCK-BASED COMPENSATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureStockBasedCompensation</Role>
      <ShortName>STOCK-BASED COMPENSATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>11001 - Disclosure - INCOME TAXES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureIncomeTaxes</Role>
      <ShortName>INCOME TAXES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>11101 - Disclosure - NET INCOME PER SHARE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureNetIncomePerShare</Role>
      <ShortName>NET INCOME PER SHARE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>11201 - Disclosure - CASH DIVIDENDS AND TREASURY STOCK</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStock</Role>
      <ShortName>CASH DIVIDENDS AND TREASURY STOCK</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>11301 - Disclosure - CUSTOMER CONCENTRATIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureCustomerConcentrations</Role>
      <ShortName>CUSTOMER CONCENTRATIONS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>11401 - Disclosure - SEGMENT REPORTING</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureSegmentReporting</Role>
      <ShortName>SEGMENT REPORTING</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>11501 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformation</Role>
      <ShortName>SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>20102 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies</Role>
      <ShortName>DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>30103 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationTables</Role>
      <ShortName>DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentation</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>30203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersTables</Role>
      <ShortName>REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomers</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>30303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables</Role>
      <ShortName>CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestments</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>30503 - Disclosure - INTANGIBLE ASSETS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureIntangibleAssetsTables</Role>
      <ShortName>INTANGIBLE ASSETS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureIntangibleAssets</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>30703 - Disclosure - COMMITMENTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureCommitmentsTables</Role>
      <ShortName>COMMITMENTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureCommitments</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>30903 - Disclosure - STOCK-BASED COMPENSATION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureStockBasedCompensationTables</Role>
      <ShortName>STOCK-BASED COMPENSATION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureStockBasedCompensation</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>31003 - Disclosure - INCOME TAXES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureIncomeTaxesTables</Role>
      <ShortName>INCOME TAXES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureIncomeTaxes</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>31103 - Disclosure - NET INCOME PER SHARE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureNetIncomePerShareTables</Role>
      <ShortName>NET INCOME PER SHARE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureNetIncomePerShare</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>31403 - Disclosure - SEGMENT REPORTING (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureSegmentReportingTables</Role>
      <ShortName>SEGMENT REPORTING (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureSegmentReporting</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>31503 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationTables</Role>
      <ShortName>SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformation</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>40101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION - Financial Instruments on a Recurring Basis (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails</Role>
      <ShortName>DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION - Financial Instruments on a Recurring Basis (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>40201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails</Role>
      <ShortName>REVENUES FROM CONTRACTS WITH CUSTOMERS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersTables</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>40202 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails</Role>
      <ShortName>REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>40203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails</Role>
      <ShortName>REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>40301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails</Role>
      <ShortName>CASH, CASH EQUIVALENTS AND INVESTMENTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>40302 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails</Role>
      <ShortName>CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>40303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails</Role>
      <ShortName>CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>40401 - Disclosure - ACCOUNTS RECEIVABLE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureAccountsReceivableDetails</Role>
      <ShortName>ACCOUNTS RECEIVABLE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureAccountsReceivable</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>40501 - Disclosure - INTANGIBLE ASSETS - Components of Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails</Role>
      <ShortName>INTANGIBLE ASSETS - Components of Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>40502 - Disclosure - INTANGIBLE ASSETS - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails</Role>
      <ShortName>INTANGIBLE ASSETS - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>40503 - Disclosure - INTANGIBLE ASSETS - Finite Lived Intangible Future Amortization Schedule (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails</Role>
      <ShortName>INTANGIBLE ASSETS - Finite Lived Intangible Future Amortization Schedule (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>40601 - Disclosure - FINANCING ARRANGEMENTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails</Role>
      <ShortName>FINANCING ARRANGEMENTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureFinancingArrangements</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>40701 - Disclosure - COMMITMENTS - Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails</Role>
      <ShortName>COMMITMENTS - Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>40702 - Disclosure - COMMITMENTS - Future minimum lease payments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails</Role>
      <ShortName>COMMITMENTS - Future minimum lease payments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>40703 - Disclosure - COMMITMENTS - Warranties (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails</Role>
      <ShortName>COMMITMENTS - Warranties (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>40901 - Disclosure - STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails</Role>
      <ShortName>STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>40902 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails</Role>
      <ShortName>STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>40903 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in restricted stock units (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails</Role>
      <ShortName>STOCK-BASED COMPENSATION - Summary of Change in restricted stock units (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>40904 - Disclosure - STOCK-BASED COMPENSATION - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails</Role>
      <ShortName>STOCK-BASED COMPENSATION - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>41001 - Disclosure - INCOME TAXES - Income Tax Expense Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails</Role>
      <ShortName>INCOME TAXES - Income Tax Expense Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>41002 - Disclosure - INCOME TAXES - Net Operating Loss Carryback (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureIncomeTaxesNetOperatingLossCarrybackDetails</Role>
      <ShortName>INCOME TAXES - Net Operating Loss Carryback (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>41003 - Disclosure - INCOME TAXES - Research and Development Tax Credits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails</Role>
      <ShortName>INCOME TAXES - Research and Development Tax Credits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>41004 - Disclosure - INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails</Role>
      <ShortName>INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>41101 - Disclosure - NET INCOME PER SHARE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails</Role>
      <ShortName>NET INCOME PER SHARE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureNetIncomePerShareTables</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>41102 - Disclosure - NET INCOME PER SHARE - Additional information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureNetIncomePerShareAdditionalInformationDetails</Role>
      <ShortName>NET INCOME PER SHARE - Additional information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>41201 - Disclosure - CASH DIVIDENDS AND TREASURY STOCK (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails</Role>
      <ShortName>CASH DIVIDENDS AND TREASURY STOCK (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStock</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>41301 - Disclosure - CUSTOMER CONCENTRATIONS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails</Role>
      <ShortName>CUSTOMER CONCENTRATIONS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureCustomerConcentrations</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>41401 - Disclosure - SEGMENT REPORTING (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureSegmentReportingDetails</Role>
      <ShortName>SEGMENT REPORTING (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.arganinc.com/role/DisclosureSegmentReportingTables</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>41501 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails</Role>
      <ShortName>SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>41502 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails</Role>
      <ShortName>SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>41503 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails</Role>
      <ShortName>SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Uncategorized</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="agx-20231031x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>agx-20231031.xsd</File>
    <File>agx-20231031_cal.xml</File>
    <File>agx-20231031_def.xml</File>
    <File>agx-20231031_lab.xml</File>
    <File>agx-20231031_pre.xml</File>
    <File doctype="10-Q" isDefinitelyFs="true" isUsgaap="true" original="agx-20231031x10q.htm">agx-20231031x10q.htm</File>
  </InputFiles>
  <SupplementalFiles>
    <File>agx-20231031x10q001.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="853">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="29">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>84
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "agx-20231031x10q.htm": {
   "nsprefix": "agx",
   "nsuri": "http://www.arganinc.com/20231031",
   "dts": {
    "schema": {
     "local": [
      "agx-20231031.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"
     ]
    },
    "calculationLink": {
     "local": [
      "agx-20231031_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "agx-20231031_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "agx-20231031_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "agx-20231031_pre.xml"
     ]
    },
    "inline": {
     "local": [
      "agx-20231031x10q.htm"
     ]
    }
   },
   "keyStandard": 265,
   "keyCustom": 48,
   "axisStandard": 26,
   "axisCustom": 0,
   "memberStandard": 37,
   "memberCustom": 21,
   "hidden": {
    "total": 27,
    "http://fasb.org/us-gaap/2023": 18,
    "http://www.arganinc.com/20231031": 3,
    "http://xbrl.sec.gov/dei/2023": 6
   },
   "contextCount": 205,
   "entityCount": 1,
   "segmentCount": 60,
   "elementCount": 569,
   "unitCount": 6,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 853,
    "http://xbrl.sec.gov/ecd/2023": 4,
    "http://xbrl.sec.gov/dei/2023": 29
   },
   "report": {
    "R1": {
     "role": "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation",
     "longName": "00090 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings",
     "longName": "00100 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q",
      "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets",
     "longName": "00200 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical",
     "longName": "00205 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "unitRef": "Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "unitRef": "Unit_Divide_USD_shares_IwwFLtZPtUOENHefkzoLqA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity",
     "longName": "00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cULSIC17AkCREkFgFtRGCQ",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_1_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_cULSIC17AkCREkFgFtRGCQ",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows",
     "longName": "00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:IncreaseDecreaseInAccruedInterestReceivableNet",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentation",
     "longName": "10101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION",
     "shortName": "DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "7",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomers",
     "longName": "10201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS",
     "shortName": "REVENUES FROM CONTRACTS WITH CUSTOMERS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestments",
     "longName": "10301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS",
     "shortName": "CASH, CASH EQUIVALENTS AND INVESTMENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.arganinc.com/role/DisclosureAccountsReceivable",
     "longName": "10401 - Disclosure - ACCOUNTS RECEIVABLE",
     "shortName": "ACCOUNTS RECEIVABLE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "agx:TradeAndOtherReceivablesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "agx:TradeAndOtherReceivablesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.arganinc.com/role/DisclosureIntangibleAssets",
     "longName": "10501 - Disclosure - INTANGIBLE ASSETS",
     "shortName": "INTANGIBLE ASSETS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.arganinc.com/role/DisclosureFinancingArrangements",
     "longName": "10601 - Disclosure - FINANCING ARRANGEMENTS",
     "shortName": "FINANCING ARRANGEMENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.arganinc.com/role/DisclosureCommitments",
     "longName": "10701 - Disclosure - COMMITMENTS",
     "shortName": "COMMITMENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:CommitmentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:CommitmentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.arganinc.com/role/DisclosureLegalContingencies",
     "longName": "10801 - Disclosure - LEGAL CONTINGENCIES",
     "shortName": "LEGAL CONTINGENCIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:LegalMattersAndContingenciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:LegalMattersAndContingenciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensation",
     "longName": "10901 - Disclosure - STOCK-BASED COMPENSATION",
     "shortName": "STOCK-BASED COMPENSATION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.arganinc.com/role/DisclosureIncomeTaxes",
     "longName": "11001 - Disclosure - INCOME TAXES",
     "shortName": "INCOME TAXES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.arganinc.com/role/DisclosureNetIncomePerShare",
     "longName": "11101 - Disclosure - NET INCOME PER SHARE",
     "shortName": "NET INCOME PER SHARE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStock",
     "longName": "11201 - Disclosure - CASH DIVIDENDS AND TREASURY STOCK",
     "shortName": "CASH DIVIDENDS AND TREASURY STOCK",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "agx:CashDividendAndTreasuryStockTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "agx:CashDividendAndTreasuryStockTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.arganinc.com/role/DisclosureCustomerConcentrations",
     "longName": "11301 - Disclosure - CUSTOMER CONCENTRATIONS",
     "shortName": "CUSTOMER CONCENTRATIONS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.arganinc.com/role/DisclosureSegmentReporting",
     "longName": "11401 - Disclosure - SEGMENT REPORTING",
     "shortName": "SEGMENT REPORTING",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformation",
     "longName": "11501 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION",
     "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:AdditionalFinancialInformationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:AdditionalFinancialInformationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies",
     "longName": "20102 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies)",
     "shortName": "DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "22",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationTables",
     "longName": "30103 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Tables)",
     "shortName": "DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "23",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersTables",
     "longName": "30203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables)",
     "shortName": "REVENUES FROM CONTRACTS WITH CUSTOMERS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "24",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables",
     "longName": "30303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables)",
     "shortName": "CASH, CASH EQUIVALENTS AND INVESTMENTS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "25",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:InvestmentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:InvestmentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.arganinc.com/role/DisclosureIntangibleAssetsTables",
     "longName": "30503 - Disclosure - INTANGIBLE ASSETS (Tables)",
     "shortName": "INTANGIBLE ASSETS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "agx:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "agx:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.arganinc.com/role/DisclosureCommitmentsTables",
     "longName": "30703 - Disclosure - COMMITMENTS (Tables)",
     "shortName": "COMMITMENTS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensationTables",
     "longName": "30903 - Disclosure - STOCK-BASED COMPENSATION (Tables)",
     "shortName": "STOCK-BASED COMPENSATION (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.arganinc.com/role/DisclosureIncomeTaxesTables",
     "longName": "31003 - Disclosure - INCOME TAXES (Tables)",
     "shortName": "INCOME TAXES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.arganinc.com/role/DisclosureNetIncomePerShareTables",
     "longName": "31103 - Disclosure - NET INCOME PER SHARE (Tables)",
     "shortName": "NET INCOME PER SHARE (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.arganinc.com/role/DisclosureSegmentReportingTables",
     "longName": "31403 - Disclosure - SEGMENT REPORTING (Tables)",
     "shortName": "SEGMENT REPORTING (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationTables",
     "longName": "31503 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables)",
     "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AdditionalFinancialInformationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AdditionalFinancialInformationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails",
     "longName": "40101 - Disclosure - DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION - Financial Instruments on a Recurring Basis (Details)",
     "shortName": "DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION - Financial Instruments on a Recurring Basis (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "33",
     "firstAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:InvestmentTableTextBlock",
       "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_10_31_2023_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_ipRTsEGczUKt6yz_oAs3sA",
      "name": "us-gaap:AssetsFairValueDisclosure",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails",
     "longName": "40201 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS (Details)",
     "shortName": "REVENUES FROM CONTRACTS WITH CUSTOMERS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "34",
     "firstAnchor": {
      "contextRef": "Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q",
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q",
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails",
     "longName": "40202 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details)",
     "shortName": "REVENUES FROM CONTRACTS WITH CUSTOMERS - Remaining Unsatisfied Performance Obligations (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "35",
     "firstAnchor": {
      "contextRef": "As_Of_10_31_2023_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_agx_cnst_date_20231101_f0dFuGrR1EWi8R0HXFKP2A",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-8",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_10_31_2023_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_agx_cnst_date_20231101_f0dFuGrR1EWi8R0HXFKP2A",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-8",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails",
     "longName": "40203 - Disclosure - REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details)",
     "shortName": "REVENUES FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenues (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "36",
     "firstAnchor": {
      "contextRef": "Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_8_1_2023_To_10_31_2023_srt_StatementGeographicalAxis_country_US_JM0zl5FnBEi9X8k6zzP9dw",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails",
     "longName": "40301 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS (Details)",
     "shortName": "CASH, CASH EQUIVALENTS AND INVESTMENTS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "agx:AccruedInvestmentIncomeDividendReceivable",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "agx:AccruedInvestmentIncomeDividendReceivable",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails",
     "longName": "40302 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details)",
     "shortName": "CASH, CASH EQUIVALENTS AND INVESTMENTS - Available-for-Sale Securities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q",
      "name": "us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails",
     "longName": "40303 - Disclosure - CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details)",
     "shortName": "CASH, CASH EQUIVALENTS AND INVESTMENTS - Investments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:ShortTermInvestments",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:InvestmentTableTextBlock",
       "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:ShortTermInvestments",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:InvestmentTableTextBlock",
       "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.arganinc.com/role/DisclosureAccountsReceivableDetails",
     "longName": "40401 - Disclosure - ACCOUNTS RECEIVABLE (Details)",
     "shortName": "ACCOUNTS RECEIVABLE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:AllowanceForNotesAndLoansReceivableCurrent",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "agx:TradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:AllowanceForNotesAndLoansReceivableCurrent",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "agx:TradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails",
     "longName": "40501 - Disclosure - INTANGIBLE ASSETS - Components of Intangible Assets (Details)",
     "shortName": "INTANGIBLE ASSETS - Components of Intangible Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "agx:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "agx:ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails",
     "longName": "40502 - Disclosure - INTANGIBLE ASSETS - Additional Information (Details)",
     "shortName": "INTANGIBLE ASSETS - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:Goodwill",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_10_31_2023_us-gaap_BusinessAcquisitionAxis_agx_RobertsCompanyIncMember__Zndj7C-hkiHrLpwFmDpQA",
      "name": "us-gaap:Goodwill",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails",
     "longName": "40503 - Disclosure - INTANGIBLE ASSETS - Finite Lived Intangible Future Amortization Schedule (Details)",
     "shortName": "INTANGIBLE ASSETS - Finite Lived Intangible Future Amortization Schedule (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails",
     "longName": "40601 - Disclosure - FINANCING ARRANGEMENTS (Details)",
     "shortName": "FINANCING ARRANGEMENTS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "Duration_3_6_2023_To_3_6_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_R0550NVAbUqttxkvrVTYKQ",
      "name": "agx:LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_3_6_2023_To_3_6_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_R0550NVAbUqttxkvrVTYKQ",
      "name": "agx:LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails",
     "longName": "40701 - Disclosure - COMMITMENTS - Leases (Details)",
     "shortName": "COMMITMENTS - Leases (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails",
     "longName": "40702 - Disclosure - COMMITMENTS - Future minimum lease payments (Details)",
     "shortName": "COMMITMENTS - Future minimum lease payments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails",
     "longName": "40703 - Disclosure - COMMITMENTS - Warranties (Details)",
     "shortName": "COMMITMENTS - Warranties (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": null,
     "uniqueAnchor": null
    },
    "R48": {
     "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails",
     "longName": "40901 - Disclosure - STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details)",
     "shortName": "STOCK-BASED COMPENSATION - Summary of Activity under Company's Stock Option Plans (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised",
      "unitRef": "Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails",
     "longName": "40902 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details)",
     "shortName": "STOCK-BASED COMPENSATION - Summary of Change in Number of Non-Vested Options to Purchase Shares of Common Stock (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
      "unitRef": "Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
      "unitRef": "Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails",
     "longName": "40903 - Disclosure - STOCK-BASED COMPENSATION - Summary of Change in restricted stock units (Details)",
     "shortName": "STOCK-BASED COMPENSATION - Summary of Change in restricted stock units (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "As_Of_1_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_aRue0zOfp0GnMgOX2ckfuw",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_1_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_aRue0zOfp0GnMgOX2ckfuw",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
     "longName": "40904 - Disclosure - STOCK-BASED COMPENSATION - Additional Information (Details)",
     "shortName": "STOCK-BASED COMPENSATION - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:CommonStockDividendsShares",
      "unitRef": "Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:CommonStockDividendsShares",
      "unitRef": "Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails",
     "longName": "41001 - Disclosure - INCOME TAXES - Income Tax Expense Reconciliation (Details)",
     "shortName": "INCOME TAXES - Income Tax Expense Reconciliation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.arganinc.com/role/DisclosureIncomeTaxesNetOperatingLossCarrybackDetails",
     "longName": "41002 - Disclosure - INCOME TAXES - Net Operating Loss Carryback (Details)",
     "shortName": "INCOME TAXES - Net Operating Loss Carryback (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "agx:IncreaseInLossCarrybackPeriodForCertainLosses",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "agx:IncreaseInLossCarrybackPeriodForCertainLosses",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails",
     "longName": "41003 - Disclosure - INCOME TAXES - Research and Development Tax Credits (Details)",
     "shortName": "INCOME TAXES - Research and Development Tax Credits (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:IncomeTaxReconciliationTaxCreditsResearch",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:IncomeTaxReconciliationTaxCreditsResearch",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails",
     "longName": "41004 - Disclosure - INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details)",
     "shortName": "INCOME TAXES - Solar Energy Projects And Supplemental Cash Flow Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:EquityMethodInvestments",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_1_31_2023_errWL-y_iEebFYGQX6GaTA",
      "name": "us-gaap:EquityMethodInvestments",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails",
     "longName": "41101 - Disclosure - NET INCOME PER SHARE (Details)",
     "shortName": "NET INCOME PER SHARE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q",
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "unitRef": "Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.arganinc.com/role/DisclosureNetIncomePerShareAdditionalInformationDetails",
     "longName": "41102 - Disclosure - NET INCOME PER SHARE - Additional information (Details)",
     "shortName": "NET INCOME PER SHARE - Additional information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "Unit_Standard_shares_GUBKDyHuz0O9B4fqmKCCzQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails",
     "longName": "41201 - Disclosure - CASH DIVIDENDS AND TREASURY STOCK (Details)",
     "shortName": "CASH DIVIDENDS AND TREASURY STOCK (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "As_Of_9_19_2023_gINSPJ0LeEi-tW4ncaLAkg",
      "name": "agx:PercentageIncreaseInCommonStockDividendPerShare",
      "unitRef": "Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "agx:CashDividendAndTreasuryStockTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_9_19_2023_gINSPJ0LeEi-tW4ncaLAkg",
      "name": "agx:PercentageIncreaseInCommonStockDividendPerShare",
      "unitRef": "Unit_Standard_pure_KOfiVEvzek2AR7RP4JGQ4A",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "agx:CashDividendAndTreasuryStockTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails",
     "longName": "41301 - Disclosure - CUSTOMER CONCENTRATIONS (Details)",
     "shortName": "CUSTOMER CONCENTRATIONS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_RP1OztK-wUmMTaKrIv5ODg",
      "name": "agx:NumberOfMajorCustomers",
      "unitRef": "Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_RP1OztK-wUmMTaKrIv5ODg",
      "name": "agx:NumberOfMajorCustomers",
      "unitRef": "Unit_Standard_customer_wkKIiCNZRUa4m2J5UefP3Q",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.arganinc.com/role/DisclosureSegmentReportingDetails",
     "longName": "41401 - Disclosure - SEGMENT REPORTING (Details)",
     "shortName": "SEGMENT REPORTING (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "Unit_Standard_segment_Qf-wPLAT-Uq_WKTfPWnY7g",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_M5e3jKEXg0i1baChtZR2vg",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "Unit_Standard_segment_Qf-wPLAT-Uq_WKTfPWnY7g",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails",
     "longName": "41501 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details)",
     "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Other Current Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "agx:IncomeTaxRefundsAndPrepaidIncomeTaxes",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock",
       "us-gaap:AdditionalFinancialInformationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "us-gaap:InventoryRawMaterials",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock",
       "us-gaap:AdditionalFinancialInformationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "unique": true
     }
    },
    "R62": {
     "role": "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails",
     "longName": "41502 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details)",
     "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Accrued Expenses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "agx:AccruedProjectCostsCurrent",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:AdditionalFinancialInformationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_10_31_2023_ZhgBvHBu-ke1Z5hvMKUC8g",
      "name": "agx:AccruedProjectCostsCurrent",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:AdditionalFinancialInformationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R63": {
     "role": "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails",
     "longName": "41503 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Additional Information (Details)",
     "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_us-gaap_UnusualOrInfrequentItemAxis_agx_FraudulentlyInducedPaymentMember_4I0cyeJLeky2ImXpHaBYzA",
      "name": "us-gaap:UnusualOrInfrequentItemNetGainLoss",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:AdditionalFinancialInformationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_2_1_2023_To_10_31_2023_us-gaap_UnusualOrInfrequentItemAxis_agx_FraudulentlyInducedPaymentMember_4I0cyeJLeky2ImXpHaBYzA",
      "name": "us-gaap:UnusualOrInfrequentItemNetGainLoss",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:AdditionalFinancialInformationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R64": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Uncategorized",
     "order": "64",
     "firstAnchor": {
      "contextRef": "Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "Unit_Standard_USD_r6WVnqhya0WgAZru39UeXA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R65": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "65",
     "firstAnchor": {
      "contextRef": "Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_8_1_2023_To_10_31_2023_Ospu1NXX_keuP7dByR_L6Q",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "agx-20231031x10q.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of Intangible Assets",
        "terseLabel": "Amortization of intangibles",
        "verboseLabel": "Amortization of intangible assets",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r46",
      "r50"
     ]
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r818",
      "r819",
      "r820",
      "r821",
      "r822",
      "r823",
      "r824",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830",
      "r831",
      "r832",
      "r833",
      "r834",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetailsCalc2": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "terseLabel": "Less imputed interest",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r464"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability, Current",
        "terseLabel": "Contract liabilities",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r338",
      "r339",
      "r351"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "terseLabel": "Schedule of operating results and financial position data of the Company's reportable business segments",
        "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."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r42",
      "r43",
      "r44"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r818",
      "r819",
      "r820",
      "r821",
      "r822",
      "r823",
      "r824",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830",
      "r831",
      "r832",
      "r833",
      "r834",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843"
     ]
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingInformationLineItems",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Information [Line Items]",
        "terseLabel": "Segment Reporting Information",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetailsCalc2": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability",
        "totalLabel": "Present value of lease payments",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r458"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Segment Reporting Information, by Segment [Table]",
        "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r42",
      "r43",
      "r44"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "terseLabel": "Net income",
        "verboseLabel": "Net income",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r146",
      "r148",
      "r156",
      "r160",
      "r166",
      "r174",
      "r175",
      "r197",
      "r211",
      "r217",
      "r220",
      "r265",
      "r309",
      "r310",
      "r312",
      "r313",
      "r314",
      "r316",
      "r318",
      "r320",
      "r321",
      "r422",
      "r425",
      "r426",
      "r438",
      "r446",
      "r505",
      "r519",
      "r557",
      "r593",
      "r609",
      "r610",
      "r646",
      "r669",
      "r670",
      "r684",
      "r784",
      "r813"
     ]
    },
    "us-gaap_CashAndCashEquivalentsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsLineItems",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails",
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [Line Items]",
        "verboseLabel": "Cash and Cash Equivalents",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureNetIncomePerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Text Block]",
        "verboseLabel": "NET INCOME PER SHARE",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r177",
      "r188",
      "r189",
      "r190"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetailsCalc2": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Current",
        "verboseLabel": "Less current portion (included in accrued expenses)",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r458"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r675",
      "r676",
      "r677",
      "r679",
      "r680",
      "r681",
      "r682",
      "r790",
      "r791",
      "r846",
      "r863",
      "r864"
     ]
    },
    "us-gaap_OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherThanTemporaryImpairmentCreditLossesRecognizedInEarningsCategoriesOfInvestmentsDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other than Temporary Impairment, Credit Losses Recognized in Earnings, Categories of Investments [Domain]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "us-gaap_ScheduleOfCashAndCashEquivalentsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfCashAndCashEquivalentsTable",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails",
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Cash and Cash Equivalents [Table]",
        "terseLabel": "Schedule of Cash and Cash Equivalents [Table]",
        "documentation": "Schedule of cash and cash equivalent balances. This table excludes restricted cash balances."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Purchases of property, plant and equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r95"
     ]
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount",
        "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r698",
      "r709",
      "r719",
      "r744"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount",
        "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r696",
      "r707",
      "r717",
      "r742"
     ]
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling, General and Administrative Expense",
        "terseLabel": "Selling, general and administrative expenses",
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc."
       }
      }
     },
     "auth_ref": [
      "r90"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies",
        "terseLabel": "COMMITMENTS AND CONTINGENCIES (see Notes 7 and 8)",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r71",
      "r510",
      "r572"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetailsCalc2": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Noncurrent",
        "verboseLabel": "Non-current portion (included in noncurrent liabilities)",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r458"
     ]
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxesPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes Paid",
        "terseLabel": "Cash paid for income taxes",
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r34"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]",
        "terseLabel": "WEIGHTED AVERAGE NUMBER OF SHARES OUTSTANDING"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement Location [Axis]",
        "documentation": "Information by location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r296",
      "r298",
      "r596"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement Location [Domain]",
        "documentation": "Location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r298",
      "r596"
     ]
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets Disclosure [Text Block]",
        "terseLabel": "INTANGIBLE ASSETS",
        "documentation": "The entire disclosure for all or part of the information related to intangible assets."
       }
      }
     },
     "auth_ref": [
      "r291"
     ]
    },
    "agx_ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "ShareBasedPaymentArrangementAveragePricePerShareOfSharesWithheldForTaxWithholdingObligation",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Average price of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement, Average Price Per Share Of Shares Withheld for Tax Withholding Obligation",
        "terseLabel": "Share-based payment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current",
        "terseLabel": "Current assets",
        "totalLabel": "TOTAL CURRENT ASSETS",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r131",
      "r141",
      "r160",
      "r265",
      "r309",
      "r310",
      "r312",
      "r313",
      "r314",
      "r316",
      "r318",
      "r320",
      "r321",
      "r423",
      "r427",
      "r446",
      "r672",
      "r813",
      "r814",
      "r852"
     ]
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r52"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Shares",
        "terseLabel": "Treasury stock, shares",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r52"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "CURRENT ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VariableRateDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Domain]",
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VariableRateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Axis]",
        "documentation": "Information by type of variable rate."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfInvestmentIncomeReportedAmountsByCategoryTable",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Income [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r92",
      "r521"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk, Percentage",
        "verboseLabel": "Percentage of major customers or segments",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r39",
      "r69",
      "r70",
      "r226"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method [Text Block]",
        "terseLabel": "Stock Price or TSR Estimation Method"
       }
      }
     },
     "auth_ref": [
      "r695",
      "r706",
      "r716",
      "r741"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfInvestmentIncomeReportedAmountsByCategoryLineItems",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Investment Income [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r521"
     ]
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r724"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "terseLabel": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r687"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance [Table Text Block]",
        "terseLabel": "Pay vs Performance Disclosure, Table"
       }
      }
     },
     "auth_ref": [
      "r724"
     ]
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation",
        "terseLabel": "Stock compensation expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote [Text Block]",
        "terseLabel": "Peer Group Issuers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "dei_LegalEntityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LegalEntityAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity [Axis]",
        "documentation": "The set of legal entities associated with a report."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount",
        "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r726"
     ]
    },
    "dei_EntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity [Domain]",
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Accrued Interest, after Allowance for Credit Loss, Current",
        "terseLabel": "Interest receivable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r238",
      "r274",
      "r275"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value",
        "terseLabel": "Intrinsic value of exercisable stock options",
        "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."
       }
      }
     },
     "auth_ref": [
      "r54"
     ]
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "SUPPLEMENTAL CASH FLOW INFORMATION"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount",
        "terseLabel": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r725"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r142",
      "r144",
      "r263"
     ]
    },
    "us-gaap_LettersOfCreditOutstandingAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LettersOfCreditOutstandingAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Letters of Credit Outstanding, Amount",
        "terseLabel": "Letters of credit outstanding amount",
        "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount",
        "terseLabel": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r725"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails",
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]",
        "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "terseLabel": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r687"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails",
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]",
        "terseLabel": "REVENUES FROM CONTRACTS WITH CUSTOMERS",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount",
        "terseLabel": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r726"
     ]
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      },
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets, Current",
        "terseLabel": "Other current assets",
        "totalLabel": "Total other current assets",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r140",
      "r672"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]",
        "verboseLabel": "STOCK-BASED COMPENSATION",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r363",
      "r368",
      "r395",
      "r396",
      "r398",
      "r667"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesFairValueToAmortizedCostBasisAbstract",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "STOCK-BASED COMPENSATION"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount",
        "terseLabel": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Retained earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r106",
      "r514",
      "r546",
      "r548",
      "r554",
      "r574",
      "r672"
     ]
    },
    "agx_AtlanticProjectsCompanyLimitedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "AtlanticProjectsCompanyLimitedMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information pertains to Atlantic Projects Company Limited.",
        "label": "APC"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Accrued Liabilities, Current",
        "terseLabel": "Other",
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote [Text Block]",
        "terseLabel": "Changed Peer Group, Footnote"
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of Presentation and Significant Accounting Policies",
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r687"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount",
        "terseLabel": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name",
        "terseLabel": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r728"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount",
        "terseLabel": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r728"
     ]
    },
    "agx_KilrootProjectMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "KilrootProjectMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to kilroot project.",
        "label": "Kilroot Project [Member]",
        "terseLabel": "Kilroot Project"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentForeignTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentForeignTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Foreign Tax Expense (Benefit)",
        "terseLabel": "Foreign income tax expense",
        "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r768",
      "r789"
     ]
    },
    "us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseExistenceOfOptionToExtend",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Existence of Option to Extend [true false]",
        "terseLabel": "Operating leases, options to extend",
        "documentation": "Indicates (true false) whether lessee has option to extend operating lease."
       }
      }
     },
     "auth_ref": [
      "r460"
     ]
    },
    "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementPolicyPolicyTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Measurement, Policy [Policy Text Block]",
        "terseLabel": "Fair Values",
        "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Debt Securities, Available-for-Sale",
        "negatedLabel": "Purchases of available-for-sale securities",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r155",
      "r230"
     ]
    },
    "us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleOfAvailableForSaleSecuritiesDebt",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Sale of Debt Securities, Available-for-Sale",
        "terseLabel": "Proceeds from sale of debt securities, available-for-sale",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r155",
      "r230",
      "r262"
     ]
    },
    "us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseExistenceOfOptionToTerminate",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Existence of Option to Terminate [true false]",
        "terseLabel": "Operating leases, options to terminate",
        "documentation": "Indicates (true false) whether lessee has option to terminate operating lease."
       }
      }
     },
     "auth_ref": [
      "r460"
     ]
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock allocated for issuance",
        "terseLabel": "Number of shares of common stock reserved for issuance",
        "documentation": "Aggregate number of common shares reserved for future issuance."
       }
      }
     },
     "auth_ref": [
      "r23"
     ]
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current",
        "terseLabel": "Current liabilities",
        "totalLabel": "TOTAL CURRENT LIABILITIES",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r132",
      "r160",
      "r265",
      "r309",
      "r310",
      "r312",
      "r313",
      "r314",
      "r316",
      "r318",
      "r320",
      "r321",
      "r424",
      "r427",
      "r428",
      "r446",
      "r672",
      "r813",
      "r852",
      "r853"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Net, Current",
        "verboseLabel": "Accounts receivable, net",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r227",
      "r228"
     ]
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED BALANCE SHEETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsMiscellaneousCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsMiscellaneousCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails": {
       "parentTag": "us-gaap_OtherAssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets, Miscellaneous, Current",
        "terseLabel": "Other",
        "documentation": "Amount of other miscellaneous assets expected to be realized or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRemainingPerformanceObligationPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationPercentage",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Percentage",
        "terseLabel": "Contract backlog (as percent)",
        "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r764"
     ]
    },
    "us-gaap_ShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermInvestments",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails": {
       "parentTag": "us-gaap_Investments",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Investments",
        "terseLabel": "Short-term investments",
        "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current."
       }
      }
     },
     "auth_ref": [
      "r115",
      "r116",
      "r781"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r626"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "CURRENT LIABILITIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsTotalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsTotalMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract Asset",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period",
        "terseLabel": "Incentive stock option award maximum expiration period",
        "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."
       }
      }
     },
     "auth_ref": [
      "r668"
     ]
    },
    "us-gaap_Investments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Investments",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investments",
        "terseLabel": "Investments",
        "totalLabel": "Total investments",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all investments."
       }
      }
     },
     "auth_ref": [
      "r507"
     ]
    },
    "us-gaap_AllowanceForNotesAndLoansReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForNotesAndLoansReceivableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Allowance for Credit Loss, Current",
        "terseLabel": "Allowance for uncollectible accounts",
        "documentation": "Amount of allowance for credit loss on financing receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r138",
      "r229",
      "r268"
     ]
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfRevenue",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Revenue",
        "terseLabel": "Cost of revenues",
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r89",
      "r160",
      "r265",
      "r309",
      "r310",
      "r312",
      "r313",
      "r314",
      "r316",
      "r318",
      "r320",
      "r321",
      "r446",
      "r813"
     ]
    },
    "agx_TreasuryStockPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "TreasuryStockPolicyTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for treasury stock.",
        "label": "Treasury Stock [Policy Text Block]",
        "terseLabel": "Treasury Stock"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "LEGAL CONTINGENCIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_USTreasurySecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "USTreasurySecuritiesMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "US Treasury Securities [Member]",
        "terseLabel": "U.S. Treasury notes",
        "documentation": "This category includes information about debt securities issued by the United States Department of the Treasury and backed by the United States government. Such securities primarily consist of treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years)."
       }
      }
     },
     "auth_ref": [
      "r643",
      "r661",
      "r663",
      "r860"
     ]
    },
    "us-gaap_PreferredStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesIssued",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Issued",
        "terseLabel": "Preferred stock, shares issued",
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r335"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetailsCalc2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due",
        "totalLabel": "Total lease payments",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r464"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Other Operating Assets",
        "negatedLabel": "Other assets",
        "documentation": "Amount of increase (decrease) in operating assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_IncomeLossFromEquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromEquityMethodInvestments",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Equity Method Investments",
        "negatedLabel": "Equity in loss (income) of solar energy investments",
        "terseLabel": "Loss of investment",
        "documentation": "Amount of income (loss) for proportionate share of equity method investee's income (loss)."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r86",
      "r117",
      "r204",
      "r264",
      "r517"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedLabel": "Forfeited (in shares)",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r385"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "INTANGIBLE ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Leases, Future Minimum Payments Due, Next Twelve Months",
        "terseLabel": "2025",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r464"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "verboseLabel": "Awarded (in shares)",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r383"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]",
        "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined"
       }
      }
     },
     "auth_ref": [
      "r697",
      "r708",
      "r718",
      "r743"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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)",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r383"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r380",
      "r381"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails"
     ],
     "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",
        "periodEndLabel": "Outstanding, Ending balance Fair value (Per share)",
        "periodStartLabel": "Outstanding, Beginning balance Fair value (Per share)",
        "terseLabel": "Outstanding, Fair value (per share)",
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r380",
      "r381"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "Preferred stock, shares authorized",
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r573"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized",
        "terseLabel": "Unrecognized compensation cost",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r397"
     ]
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "INCOME TAXES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four",
        "terseLabel": "2028",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r464"
     ]
    },
    "us-gaap_LegalMattersAndContingenciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LegalMattersAndContingenciesTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureLegalContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Matters and Contingencies [Text Block]",
        "verboseLabel": "LEGAL CONTINGENCIES",
        "documentation": "The entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies."
       }
      }
     },
     "auth_ref": [
      "r104"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Outstanding",
        "terseLabel": "Preferred stock, shares outstanding",
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r573",
      "r591",
      "r864",
      "r865"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedLabel": "Issued (in shares)",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r384"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three",
        "terseLabel": "2027",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r464"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two",
        "terseLabel": "2026",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r464"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year",
        "terseLabel": "2024 (remainder)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r850"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Schedule of future minimum lease payments for the operating leases",
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r850"
     ]
    },
    "us-gaap_OperatingLeaseExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Expense",
        "terseLabel": "Operating lease expense",
        "verboseLabel": "Lease expense",
        "documentation": "Amount of operating lease expense. Excludes sublease income."
       }
      }
     },
     "auth_ref": [
      "r849"
     ]
    },
    "agx_EarningsPerSharePerformanceBasedRestrictedStockUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "EarningsPerSharePerformanceBasedRestrictedStockUnitsMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Assets, Net",
        "terseLabel": "Deferred taxes, net",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r403",
      "r404"
     ]
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "FINANCING ARRANGEMENTS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RisksAndUncertaintiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RisksAndUncertaintiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CUSTOMER CONCENTRATIONS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "terseLabel": "Preferred stock, par value (in dollars per share)",
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r335"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r699",
      "r710",
      "r720",
      "r745"
     ]
    },
    "us-gaap_PaymentsOfDividendsCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsOfDividendsCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments of Ordinary Dividends, Common Stock",
        "negatedLabel": "Payments of cash dividends",
        "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity."
       }
      }
     },
     "auth_ref": [
      "r31"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF EARNINGS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r54"
     ]
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "terseLabel": "Intrinsic value of the stock options exercised",
        "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."
       }
      }
     },
     "auth_ref": [
      "r387"
     ]
    },
    "agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearOneToTwo",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease, right-of-use assets",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r457"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period",
        "negatedLabel": "Shares, Forfeited",
        "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."
       }
      }
     },
     "auth_ref": [
      "r378"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology."
       }
      }
     },
     "auth_ref": [
      "r386"
     ]
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements",
        "terseLabel": "Effects of stock awards",
        "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."
       }
      }
     },
     "auth_ref": [
      "r181",
      "r182",
      "r183",
      "r187",
      "r367"
     ]
    },
    "us-gaap_SharePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharePrice",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share Price",
        "terseLabel": "Share price",
        "documentation": "Price of a single share of a number of saleable stocks of a company."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value",
        "terseLabel": "Intrinsic value of outstanding stock options",
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding."
       }
      }
     },
     "auth_ref": [
      "r54"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Shares, Outstanding, Ending balance",
        "periodStartLabel": "Shares, Outstanding, Beginning balance",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r372",
      "r373"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CASH, CASH EQUIVALENTS AND INVESTMENTS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r372",
      "r373"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number",
        "verboseLabel": "Shares, Exercisable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r374"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "verboseLabel": "Federal corporate income tax rate (as percent)",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r161",
      "r406",
      "r416"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "verboseLabel": "Weighted Average Exercise Price Per Share, Exercisable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r374"
     ]
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "netLabel": "Net income",
        "totalLabel": "NET INCOME",
        "label": "Net Income (Loss)",
        "terseLabel": "Net Income (Loss)",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r98",
      "r119",
      "r130",
      "r146",
      "r148",
      "r152",
      "r160",
      "r166",
      "r168",
      "r169",
      "r170",
      "r171",
      "r174",
      "r175",
      "r184",
      "r197",
      "r211",
      "r217",
      "r220",
      "r265",
      "r309",
      "r310",
      "r312",
      "r313",
      "r314",
      "r316",
      "r318",
      "r320",
      "r321",
      "r438",
      "r446",
      "r520",
      "r593",
      "r609",
      "r610",
      "r646",
      "r683",
      "r813"
     ]
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease Liabilities, Payments Due [Abstract]",
        "terseLabel": "Operating Leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinancialInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancialInstrumentAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails",
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instrument [Axis]",
        "documentation": "Information by type of financial instrument."
       }
      }
     },
     "auth_ref": [
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273",
      "r276",
      "r277",
      "r278",
      "r333",
      "r336",
      "r435",
      "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",
      "r495",
      "r521",
      "r649",
      "r771",
      "r772",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r802",
      "r803",
      "r804",
      "r805"
     ]
    },
    "us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Secured Overnight Financing Rate (SOFR)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r845"
     ]
    },
    "us-gaap_AdditionalFinancialInformationDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalFinancialInformationDisclosureTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Financial Information Disclosure [Text Block]",
        "terseLabel": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION",
        "documentation": "The entire disclosures of supplemental information, including descriptions and amounts, related to the balance sheet, income statement, and/or cash flow statement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recently Issued Accounting Pronouncements",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel1Member",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Level 1 Inputs",
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date."
       }
      }
     },
     "auth_ref": [
      "r329",
      "r355",
      "r360",
      "r441",
      "r469",
      "r661",
      "r662",
      "r663"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities",
        "totalLabel": "TOTAL LIABILITIES",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r160",
      "r265",
      "r309",
      "r310",
      "r312",
      "r313",
      "r314",
      "r316",
      "r318",
      "r320",
      "r321",
      "r424",
      "r427",
      "r428",
      "r446",
      "r571",
      "r645",
      "r685",
      "r813",
      "r852",
      "r853"
     ]
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel2Member",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Level 2 Inputs",
        "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."
       }
      }
     },
     "auth_ref": [
      "r329",
      "r355",
      "r360",
      "r441",
      "r470",
      "r651",
      "r652",
      "r661",
      "r662",
      "r663"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets",
        "terseLabel": "Total assets",
        "totalLabel": "TOTAL ASSETS",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r136",
      "r160",
      "r197",
      "r212",
      "r218",
      "r265",
      "r309",
      "r310",
      "r312",
      "r313",
      "r314",
      "r316",
      "r318",
      "r320",
      "r321",
      "r423",
      "r427",
      "r446",
      "r509",
      "r585",
      "r672",
      "r685",
      "r813",
      "r814",
      "r852"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails",
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "netLabel": "Revenues",
        "terseLabel": "Totals",
        "verboseLabel": "REVENUES",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r198",
      "r199",
      "r210",
      "r215",
      "r216",
      "r222",
      "r224",
      "r226",
      "r349",
      "r350",
      "r498"
     ]
    },
    "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation",
        "terseLabel": "Shares paid for tax withholding for share based compensation",
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "terseLabel": "Revenue recognized",
        "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."
       }
      }
     },
     "auth_ref": [
      "r352"
     ]
    },
    "us-gaap_InventoryRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryRawMaterials",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails": {
       "parentTag": "us-gaap_OtherAssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Raw Materials, Gross",
        "terseLabel": "Raw materials inventory",
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r780"
     ]
    },
    "agx_LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "LineOfCreditFacilityContingentIncreaseAdditionalBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity",
        "totalLabel": "TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r83",
      "r114",
      "r515",
      "r672",
      "r788",
      "r807",
      "r848"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "agx_LettersOfCreditExpireOnMay312024Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "LettersOfCreditExpireOnMay312024Member",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to letters of credit expire on May 31, 2024.",
        "label": "Expires on May 31, 2024"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]",
        "terseLabel": "NON-CASH INVESTING AND FINANCING ACTIVITIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Gain (Loss), before Reclassification and Tax",
        "terseLabel": "Foreign currency translation loss",
        "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."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r84",
      "r447",
      "r448",
      "r450"
     ]
    },
    "agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsIssuedInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails"
     ],
     "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)"
       }
      }
     },
     "auth_ref": []
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r797",
      "r851"
     ]
    },
    "agx_RenewablePerformanceBasedRestrictedStockUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "RenewablePerformanceBasedRestrictedStockUnitsMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Renewable Performance Based Restricted Stock Units.",
        "label": "Renewable Performance-Based Restricted Stock Units"
       }
      }
     },
     "auth_ref": []
    },
    "agx_TimeBasedRestrictedStockUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "TimeBasedRestrictedStockUnitsMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Time based  Restricted Stock Units.",
        "label": "Time Based Restricted Stock Units"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ConsolidationItemsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ConsolidationItemsDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Domain]"
       }
      }
     },
     "auth_ref": [
      "r162",
      "r199",
      "r210",
      "r211",
      "r212",
      "r213",
      "r214",
      "r216",
      "r220",
      "r309",
      "r310",
      "r311",
      "r312",
      "r314",
      "r315",
      "r317",
      "r319",
      "r320",
      "r813",
      "r814"
     ]
    },
    "agx_RemainingBondedPerformanceObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "RemainingBondedPerformanceObligations",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to remaining bonded performance obligations.",
        "label": "Remaining Bonded Performance Obligations",
        "terseLabel": "Unsatisfied bonded performance obligations"
       }
      }
     },
     "auth_ref": []
    },
    "agx_CashInvestmentCommitments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "CashInvestmentCommitments",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash investment commitments.",
        "label": "Cash Investment Commitments",
        "terseLabel": "Remaining cash investment commitments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "terseLabel": "Intangible assets, net",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r48"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 1.0
      },
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails",
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Expense (Benefit)",
        "totalLabel": "Income tax expense",
        "verboseLabel": "Income tax expense",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r121",
      "r125",
      "r174",
      "r175",
      "r205",
      "r405",
      "r413",
      "r524"
     ]
    },
    "agx_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "LesseeOperatingLeaseLiabilityToBePaidAfterYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Asset, Net, Current",
        "terseLabel": "Contract assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r338",
      "r340",
      "r351"
     ]
    },
    "us-gaap_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Axis]",
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": []
    },
    "agx_InvestmentsTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "InvestmentsTerm",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ConsolidationItemsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ConsolidationItemsAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Axis]"
       }
      }
     },
     "auth_ref": [
      "r162",
      "r199",
      "r210",
      "r211",
      "r212",
      "r213",
      "r214",
      "r216",
      "r220",
      "r309",
      "r310",
      "r311",
      "r312",
      "r314",
      "r315",
      "r317",
      "r319",
      "r320",
      "r813",
      "r814"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "REVENUES FROM CONTRACTS WITH CUSTOMERS"
       }
      }
     },
     "auth_ref": []
    },
    "agx_NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "NumberOfSharesIssuableUnderRestrictedStockUnitsAwardedDuringPeriod",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomers"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Text Block]",
        "terseLabel": "REVENUES FROM CONTRACTS WITH CUSTOMERS",
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts."
       }
      }
     },
     "auth_ref": [
      "r126",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r353"
     ]
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving Credit Facility",
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount."
       }
      }
     },
     "auth_ref": []
    },
    "agx_OperatingLeaseRightOfUseAssetAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "OperatingLeaseRightOfUseAssetAndOtherAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax",
        "terseLabel": "Net unrealized losses on available-for-sale securities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r142",
      "r143",
      "r144"
     ]
    },
    "agx_AccruedProjectCostsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "AccruedProjectCostsCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "terseLabel": "Shares",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails",
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Net",
        "totalLabel": "Net Amounts",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r499"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross Amounts",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r500"
     ]
    },
    "us-gaap_NumberOfOperatingSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfOperatingSegments",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Operating Segments",
        "terseLabel": "Operating segment",
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues."
       }
      }
     },
     "auth_ref": [
      "r795"
     ]
    },
    "agx_AccruedLeaseLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "AccruedLeaseLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Domain]",
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": []
    },
    "agx_FraudulentlyInducedPaymentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "FraudulentlyInducedPaymentMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "terseLabel": "Foreign currency translation adjustments",
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "agx_SupplementalFinancialStatementInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "SupplementalFinancialStatementInformationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Na",
        "label": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION"
       }
      }
     },
     "auth_ref": []
    },
    "agx_AvailableForSaleSecuritiesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "AvailableForSaleSecuritiesPolicyTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r698",
      "r709",
      "r719",
      "r744"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Award Types",
        "terseLabel": "All Award Types",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails",
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r49",
      "r499"
     ]
    },
    "agx_IndustrialConstructionServicesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "IndustrialConstructionServicesMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails",
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to industrial construction services.",
        "label": "Industrial Construction Services [Member]",
        "terseLabel": "Industrial Construction Services"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DomesticCorporateDebtSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DomesticCorporateDebtSecuritiesMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails",
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Security, Corporate, US [Member]",
        "terseLabel": "U.S. corporate debt security",
        "documentation": "Debt security issued by corporation domiciled in United States of America (US)."
       }
      }
     },
     "auth_ref": [
      "r663",
      "r800",
      "r801",
      "r817"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails",
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "terseLabel": "Finite-Lived Intangible Assets",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r499"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r364",
      "r366",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis [Text Block]",
        "terseLabel": "Erroneous Compensation Analysis"
       }
      }
     },
     "auth_ref": [
      "r694",
      "r705",
      "r715",
      "r740"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r292",
      "r293",
      "r294",
      "r295",
      "r499",
      "r500"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r364",
      "r366",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394"
     ]
    },
    "agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainBeforeTaxAfterYearOneThroughTwo",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before tax, of unrealized gain 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 Gain, before Tax after Year One Through Two",
        "terseLabel": "Gross Unrealized Gains, Due in one to two years"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsFairValueDisclosure",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Fair Value Disclosure",
        "totalLabel": "Totals",
        "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r68"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r49"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureNetIncomePerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Schedule of computations of basic and diluted net income per share",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r794"
     ]
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS"
       }
      }
     },
     "auth_ref": []
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r686"
     ]
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segments [Domain]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r194",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r210",
      "r211",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r220",
      "r226",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r299",
      "r300",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r650",
      "r767",
      "r861"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Nonoperating Income (Expense)",
        "terseLabel": "Other income (loss), net",
        "verboseLabel": "Other income, net",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r93"
     ]
    },
    "us-gaap_DeferredIncomeTaxesAndOtherTaxReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxesAndOtherTaxReceivableCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesNetOperatingLossCarrybackDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Taxes and Other Tax Receivable, Current",
        "terseLabel": "Income tax receivable",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "srt_StatementScenarioAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementScenarioAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Axis]"
       }
      }
     },
     "auth_ref": [
      "r176",
      "r362",
      "r762",
      "r763",
      "r793"
     ]
    },
    "srt_ScenarioUnspecifiedDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScenarioUnspecifiedDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario, Unspecified [Domain]"
       }
      }
     },
     "auth_ref": [
      "r176",
      "r362",
      "r762",
      "r793"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "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 provided by (used in) operating activities"
       }
      }
     },
     "auth_ref": []
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r688"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "terseLabel": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r689"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "COMPREHENSIVE INCOME",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r147",
      "r149",
      "r153",
      "r503",
      "r522"
     ]
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails",
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition [Axis]",
        "documentation": "Information by business combination or series of individually immaterial business combinations."
       }
      }
     },
     "auth_ref": [
      "r60",
      "r61",
      "r421",
      "r664",
      "r665"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "terseLabel": "Forfeited, Fair value (Per share)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r385"
     ]
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionAcquireeDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails",
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition, Acquiree [Domain]",
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree."
       }
      }
     },
     "auth_ref": [
      "r421",
      "r664",
      "r665"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r722"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "terseLabel": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "agx_OperatingLeasesPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "OperatingLeasesPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash paid for operating leases.",
        "label": "Operating Leases Paid",
        "terseLabel": "Cash paid for operating leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Axis]",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r39",
      "r69",
      "r70",
      "r226",
      "r626",
      "r766"
     ]
    },
    "us-gaap_OperatingSegmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingSegmentsMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Segments [Member]",
        "terseLabel": "Operating Segments",
        "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."
       }
      }
     },
     "auth_ref": [
      "r210",
      "r211",
      "r212",
      "r213",
      "r214",
      "r220"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesDebtSecurities",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails": {
       "parentTag": "us-gaap_AssetsFairValueDisclosure",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails": {
       "parentTag": "us-gaap_Investments",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails",
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsInvestmentsDetails",
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale",
        "terseLabel": "Available-for-sale-securities",
        "verboseLabel": "Fair Value",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r233",
      "r274",
      "r502",
      "r799"
     ]
    },
    "us-gaap_ConcentrationRiskDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskDisclosureTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Disclosure [Text Block]",
        "terseLabel": "CUSTOMER CONCENTRATIONS",
        "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."
       }
      }
     },
     "auth_ref": [
      "r99"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "terseLabel": "STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Employee Stock Option",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskLineItems",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Line Items]",
        "terseLabel": "Customer Concentrations",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r626"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "terseLabel": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r399",
      "r400",
      "r401",
      "r558",
      "r790",
      "r791",
      "r792",
      "r846",
      "r864"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "CASH FLOWS FROM OPERATING ACTIVITIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Hierarchy and NAV [Axis]",
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient."
       }
      }
     },
     "auth_ref": [
      "r329",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r441",
      "r469",
      "r470",
      "r471",
      "r651",
      "r652",
      "r661",
      "r662",
      "r663"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "CASH FLOWS FROM INVESTING ACTIVITIES"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]",
        "terseLabel": "Erroneously Awarded Compensation Recovery"
       }
      }
     },
     "auth_ref": [
      "r691",
      "r702",
      "r712",
      "r737"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net cash provided by (used in) operating activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r97",
      "r98"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Other Measure"
       }
      }
     },
     "auth_ref": [
      "r734"
     ]
    },
    "us-gaap_CommitmentsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsDisclosureTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments Disclosure [Text Block]",
        "terseLabel": "COMMITMENTS",
        "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."
       }
      }
     },
     "auth_ref": [
      "r103"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group [Text Block]",
        "terseLabel": "Total Shareholder Return Vs Peer Group"
       }
      }
     },
     "auth_ref": [
      "r734"
     ]
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueByMeasurementFrequencyAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Frequency [Axis]",
        "documentation": "Information by measurement frequency."
       }
      }
     },
     "auth_ref": [
      "r440",
      "r441",
      "r442",
      "r443",
      "r445"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r25",
      "r127",
      "r150",
      "r151",
      "r152",
      "r163",
      "r164",
      "r165",
      "r167",
      "r173",
      "r175",
      "r192",
      "r266",
      "r267",
      "r337",
      "r399",
      "r400",
      "r401",
      "r410",
      "r411",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r436",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r465",
      "r543",
      "r544",
      "r545",
      "r558",
      "r611"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Company Selected Measure"
       }
      }
     },
     "auth_ref": [
      "r733"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r127",
      "r163",
      "r164",
      "r165",
      "r167",
      "r173",
      "r175",
      "r266",
      "r267",
      "r399",
      "r400",
      "r401",
      "r410",
      "r411",
      "r429",
      "r431",
      "r432",
      "r434",
      "r436",
      "r543",
      "r545",
      "r558",
      "r864"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return"
       }
      }
     },
     "auth_ref": [
      "r731"
     ]
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r687"
     ]
    },
    "agx_UnrecognizedTaxLossBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "UnrecognizedTaxLossBenefit",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of unrecognized tax loss benefit.",
        "label": "Unrecognized tax loss benefit",
        "negatedLabel": "Unrecognized tax loss benefit"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Net Income"
       }
      }
     },
     "auth_ref": [
      "r732"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "verboseLabel": "Schedule of actual income tax expense amounts",
        "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."
       }
      }
     },
     "auth_ref": [
      "r108"
     ]
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component [Domain]",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r127",
      "r150",
      "r151",
      "r152",
      "r163",
      "r164",
      "r165",
      "r167",
      "r173",
      "r175",
      "r192",
      "r266",
      "r267",
      "r337",
      "r399",
      "r400",
      "r401",
      "r410",
      "r411",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r436",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r465",
      "r543",
      "r544",
      "r545",
      "r558",
      "r611"
     ]
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "terseLabel": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r687"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Loss",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r9",
      "r27",
      "r430",
      "r433",
      "r465",
      "r543",
      "r544",
      "r782",
      "r783",
      "r784",
      "r790",
      "r791",
      "r792"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r687"
     ]
    },
    "agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearTwoThroughThree",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Accrued Liabilities [Table Text Block]",
        "terseLabel": "Schedule of accrued expenses",
        "documentation": "Tabular disclosure of the components of accrued liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "agx_DocumentAndEntityInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "DocumentAndEntityInformationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Document and entity information.",
        "label": "Document And Entity Information"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r687"
     ]
    },
    "agx_GemmaPowerSystemsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "GemmaPowerSystemsMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gemma power systems.",
        "label": "GPS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails",
      "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Basis Spread on Variable Rate",
        "terseLabel": "Interest rate margin on referred rate",
        "verboseLabel": "Interest rate margin on referred rate",
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "agx_MajorCustomerOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "MajorCustomerOneMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Major customer one.",
        "label": "Major Customer One"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense (Benefit)",
        "verboseLabel": "Deferred income tax expense (benefit)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r109",
      "r124",
      "r414",
      "r415",
      "r789"
     ]
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]",
        "terseLabel": "Equity Valuation Assumption Difference, Footnote"
       }
      }
     },
     "auth_ref": [
      "r730"
     ]
    },
    "agx_MajorCustomerTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "MajorCustomerTwoMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Major customer two.",
        "label": "Major Customer Two"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]",
        "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote"
       }
      }
     },
     "auth_ref": [
      "r729"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition",
        "terseLabel": "Stock compensation expense",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r59",
      "r365"
     ]
    },
    "agx_NumberOfMajorCustomers": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "NumberOfMajorCustomers",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of major customers.",
        "label": "Number Of Major Customers",
        "terseLabel": "Number of customers"
       }
      }
     },
     "auth_ref": []
    },
    "agx_MajorCustomerThreeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "MajorCustomerThreeMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Major customer three.",
        "label": "Major Customer Three"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List [Table Text Block]",
        "terseLabel": "Tabular List, Table"
       }
      }
     },
     "auth_ref": [
      "r735"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails",
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Products and Services [Axis]"
       }
      }
     },
     "auth_ref": [
      "r222",
      "r498",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r638",
      "r654",
      "r673",
      "r767",
      "r811",
      "r812",
      "r816",
      "r861"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails",
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Products and Services [Domain]"
       }
      }
     },
     "auth_ref": [
      "r222",
      "r498",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r638",
      "r654",
      "r673",
      "r767",
      "r811",
      "r812",
      "r816",
      "r861"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleTerm",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Term",
        "terseLabel": "Available-for-sale securities term",
        "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."
       }
      }
     },
     "auth_ref": [
      "r847"
     ]
    },
    "us-gaap_NoncontrollingInterestMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncontrollingInterestMember",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-controlling Interests",
        "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."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r337",
      "r790",
      "r791",
      "r792",
      "r864"
     ]
    },
    "us-gaap_InvestmentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentTableTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment [Table Text Block]",
        "terseLabel": "Investments",
        "documentation": "Tabular disclosure of investment."
       }
      }
     },
     "auth_ref": [
      "r769",
      "r770",
      "r798"
     ]
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest",
        "periodEndLabel": "Balances",
        "periodStartLabel": "Balances",
        "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r65",
      "r67",
      "r127",
      "r128",
      "r151",
      "r163",
      "r164",
      "r165",
      "r167",
      "r173",
      "r266",
      "r267",
      "r337",
      "r399",
      "r400",
      "r401",
      "r410",
      "r411",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r436",
      "r451",
      "r452",
      "r456",
      "r465",
      "r544",
      "r545",
      "r556",
      "r575",
      "r591",
      "r612",
      "r613",
      "r624",
      "r684",
      "r788",
      "r807",
      "r848",
      "r864"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Net",
        "verboseLabel": "Property, plant and equipment, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r506",
      "r516",
      "r672"
     ]
    },
    "us-gaap_FinancialGuaranteeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancialGuaranteeMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial guarantee",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r84",
      "r145",
      "r263"
     ]
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "SEGMENT REPORTING"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DividendsCommonStockCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DividendsCommonStockCash",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends, Common Stock, Cash",
        "negatedLabel": "Cash dividends",
        "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash."
       }
      }
     },
     "auth_ref": [
      "r106"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period",
        "terseLabel": "Period to become exercisable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r667"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash used in investing activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r157"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Compensation expense recognize, period",
        "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."
       }
      }
     },
     "auth_ref": [
      "r397"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "CASH FLOWS FROM FINANCING ACTIVITIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash used in financing activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r157"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period",
        "terseLabel": "Performance period",
        "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r123"
     ]
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount",
        "terseLabel": "State income taxes, net of federal tax effect",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r844"
     ]
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Text Block]",
        "verboseLabel": "INCOME TAXES",
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information."
       }
      }
     },
     "auth_ref": [
      "r161",
      "r402",
      "r407",
      "r408",
      "r409",
      "r412",
      "r417",
      "r419",
      "r420",
      "r555"
     ]
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description [Text Block]",
        "terseLabel": "Non-GAAP Measure Description"
       }
      }
     },
     "auth_ref": [
      "r728"
     ]
    },
    "agx_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateYearTwoToThree",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Income (Loss)",
        "totalLabel": "INCOME FROM OPERATIONS",
        "verboseLabel": "Income (loss) from operations",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r211",
      "r217",
      "r220",
      "r646"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted average lease term",
        "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."
       }
      }
     },
     "auth_ref": [
      "r462",
      "r671"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table Text Block]",
        "terseLabel": "Schedule of consolidated revenues disaggregated by geographical area",
        "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."
       }
      }
     },
     "auth_ref": [
      "r816"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures"
       }
      }
     },
     "auth_ref": [
      "r748"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value (in dollars per share)",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r78"
     ]
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "verboseLabel": "Right-of-use assets obtained in exchange for lease obligations",
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r461",
      "r671"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Does Not Require Recovery [Text Block]",
        "terseLabel": "Restatement does not require Recovery"
       }
      }
     },
     "auth_ref": [
      "r700",
      "r711",
      "r721",
      "r746"
     ]
    },
    "us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Research and Development, Amount",
        "verboseLabel": "Research and development credits adjustment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r844"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]",
        "terseLabel": "Award Timing Disclosures"
       }
      }
     },
     "auth_ref": [
      "r747"
     ]
    },
    "us-gaap_IncomeTaxReconciliationTaxCreditsResearch": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationTaxCreditsResearch",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount",
        "terseLabel": "Federal research and development tax credits",
        "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."
       }
      }
     },
     "auth_ref": [
      "r844"
     ]
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r226",
      "r656",
      "r816",
      "r861",
      "r862"
     ]
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Line Items]",
        "terseLabel": "Disaggregation of Revenues",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r350",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660"
     ]
    },
    "us-gaap_TreasuryStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockValue",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Value",
        "negatedLabel": "Less treasury stock, at cost - 2,495,542 and 2,386,699 shares at October 31, 2023 and January 31, 2023, respectively",
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r52",
      "r53"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure [Text Block]",
        "terseLabel": "Award Timing MNPI Disclosure"
       }
      }
     },
     "auth_ref": [
      "r747"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenues [Table]",
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r350",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660"
     ]
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r39",
      "r69",
      "r70",
      "r226",
      "r626"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method [Text Block]",
        "terseLabel": "Award Timing Method"
       }
      }
     },
     "auth_ref": [
      "r747"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails",
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross",
        "terseLabel": "Shares, Granted",
        "documentation": "Gross number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r376"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r39",
      "r69",
      "r70",
      "r226",
      "r549",
      "r626"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined [Flag]",
        "terseLabel": "Award Timing Predetermined"
       }
      }
     },
     "auth_ref": [
      "r747"
     ]
    },
    "us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationForeignIncomeTaxRateDifferential",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount",
        "verboseLabel": "Foreign tax rate differential",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r844"
     ]
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]",
        "verboseLabel": "DESCRIPTION OF THE BUSINESS AND BASIS OF PRESENTATION",
        "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r110",
      "r550",
      "r551"
     ]
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount",
        "verboseLabel": "Computed expected income tax expense",
        "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."
       }
      }
     },
     "auth_ref": [
      "r406"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation",
        "terseLabel": "Contract backlog amount",
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r122"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered [Flag]",
        "terseLabel": "Award Timing MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r747"
     ]
    },
    "agx_Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "Unrecognizedtaxbenefitsincreaseresultingfromresearchanddevelopmenttaxcredit",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered [Text Block]",
        "terseLabel": "Award Timing, How MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r747"
     ]
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]",
        "terseLabel": "Schedule of financial instruments recorded at fair value on a recurring basis",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r111"
     ]
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount",
        "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r698",
      "r709",
      "r719",
      "r744"
     ]
    },
    "country_IE": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "IE",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Republic of Ireland"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures, Table"
       }
      }
     },
     "auth_ref": [
      "r748"
     ]
    },
    "us-gaap_IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Meals and Entertainment, Amount",
        "terseLabel": "Meals and entertainment expense",
        "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 meals and entertainment expense."
       }
      }
     },
     "auth_ref": [
      "r844"
     ]
    },
    "us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationNondeductibleExpenseOther",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Other, Amount",
        "verboseLabel": "Other permanent differences and adjustments, net",
        "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."
       }
      }
     },
     "auth_ref": [
      "r844"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted average discount rate",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r463",
      "r671"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]",
        "terseLabel": "MNPI Disclosure Timed for Compensation Value"
       }
      }
     },
     "auth_ref": [
      "r747"
     ]
    },
    "agx_CashDividendAndTreasuryStockTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "CashDividendAndTreasuryStockTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStock"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "verboseLabel": "EFFECTS OF EXCHANGE RATE CHANGES ON CASH",
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r449"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails",
      "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails",
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Axis]"
       }
      }
     },
     "auth_ref": [
      "r301",
      "r302",
      "r303",
      "r304",
      "r354",
      "r361",
      "r391",
      "r392",
      "r393",
      "r472",
      "r496",
      "r542",
      "r563",
      "r564",
      "r614",
      "r616",
      "r618",
      "r619",
      "r621",
      "r636",
      "r637",
      "r648",
      "r653",
      "r666",
      "r674",
      "r677",
      "r810",
      "r815",
      "r855",
      "r856",
      "r857",
      "r858",
      "r859"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r96"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture",
        "terseLabel": "Stock option exercises and restricted stock unit settlements, net of shares withheld for exercise price and withholding taxes (in shares)",
        "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r77",
      "r78",
      "r106"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncomeExpenseMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income (expense)",
        "documentation": "Primary financial statement caption encompassing other nonoperating income (expense)."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails",
      "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails",
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum",
        "terseLabel": "Maximum"
       }
      }
     },
     "auth_ref": [
      "r301",
      "r302",
      "r303",
      "r304",
      "r361",
      "r496",
      "r542",
      "r563",
      "r564",
      "r614",
      "r616",
      "r618",
      "r619",
      "r621",
      "r636",
      "r637",
      "r648",
      "r653",
      "r666",
      "r674",
      "r815",
      "r854",
      "r855",
      "r856",
      "r857",
      "r858",
      "r859"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r96",
      "r158"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "verboseLabel": "Estimated Useful Life (in years)",
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails",
      "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails",
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Domain]"
       }
      }
     },
     "auth_ref": [
      "r301",
      "r302",
      "r303",
      "r304",
      "r354",
      "r361",
      "r391",
      "r392",
      "r393",
      "r472",
      "r496",
      "r542",
      "r563",
      "r564",
      "r614",
      "r616",
      "r618",
      "r619",
      "r621",
      "r636",
      "r637",
      "r648",
      "r653",
      "r666",
      "r674",
      "r677",
      "r810",
      "r815",
      "r855",
      "r856",
      "r857",
      "r858",
      "r859"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails",
      "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails",
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum",
        "terseLabel": "Minimum"
       }
      }
     },
     "auth_ref": [
      "r301",
      "r302",
      "r303",
      "r304",
      "r361",
      "r496",
      "r542",
      "r563",
      "r564",
      "r614",
      "r616",
      "r618",
      "r619",
      "r621",
      "r636",
      "r637",
      "r648",
      "r653",
      "r666",
      "r674",
      "r815",
      "r854",
      "r855",
      "r856",
      "r857",
      "r858",
      "r859"
     ]
    },
    "us-gaap_CommonStockDividendsPerShareCashPaid": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockDividendsPerShareCashPaid",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Dividends, Per Share, Cash Paid",
        "terseLabel": "Regular cash dividend paid per common stock",
        "documentation": "Aggregate dividends paid during the period for each share of common stock outstanding."
       }
      }
     },
     "auth_ref": [
      "r106"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period",
        "negatedLabel": "Shares, Exercised",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r77",
      "r78",
      "r106",
      "r377"
     ]
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]",
        "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure"
       }
      }
     },
     "auth_ref": [
      "r691",
      "r702",
      "r712",
      "r737"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensation",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture",
        "terseLabel": "Stock option exercises and restricted stock unit settlements, net of shares withheld for exercise price and withholding taxes",
        "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r77",
      "r78",
      "r106"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]",
        "terseLabel": "Less current portion (included in accrued expenses)",
        "documentation": "Indicates line item in statement of financial position that includes current operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r459"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsFutureMinimumLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List]",
        "terseLabel": "Non-current portion (included in noncurrent liabilities)",
        "documentation": "Indicates line item in statement of financial position that includes noncurrent operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r459"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersRemainingUnsatisfiedPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]",
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r123"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Accounts Payable and Accrued Liabilities",
        "terseLabel": "Accounts payable and accrued expenses",
        "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."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Accounts receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]",
        "terseLabel": "Restatement Determination Date:"
       }
      }
     },
     "auth_ref": [
      "r692",
      "r703",
      "r713",
      "r738"
     ]
    },
    "us-gaap_USTreasuryNotesSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "USTreasuryNotesSecuritiesMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "US Treasury Notes Securities [Member]",
        "terseLabel": "US Treasury notes",
        "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."
       }
      }
     },
     "auth_ref": [
      "r860"
     ]
    },
    "us-gaap_LineOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit [Member]",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnusualOrInfrequentItemLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnusualOrInfrequentItemLineItems",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unusual or Infrequent Item, or Both [Line Items]",
        "terseLabel": "SUPPLEMENTAL FINANCIAL STATEMENT INFORMATION",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "agx_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExcessExecutiveCompensationAmount",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesIncomeTaxExpenseReconciliationDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails",
      "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]",
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed."
       }
      }
     },
     "auth_ref": [
      "r163",
      "r164",
      "r165",
      "r192",
      "r498",
      "r552",
      "r559",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r573",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r592",
      "r594",
      "r595",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r611",
      "r678"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "terseLabel": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfOtherCurrentAssetsTableTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Other Current Assets [Table Text Block]",
        "terseLabel": "Schedule of other current assets",
        "documentation": "Tabular disclosure of the carrying amounts of other current assets."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TradeNamesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradeNamesMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade Name",
        "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof."
       }
      }
     },
     "auth_ref": [
      "r62"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]",
        "terseLabel": "Adjustment To PEO Compensation, Footnote"
       }
      }
     },
     "auth_ref": [
      "r729"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "US",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "United States"
       }
      }
     },
     "auth_ref": []
    },
    "agx_GemmaPowerSystemLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "GemmaPowerSystemLlcMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Gemma Power System, LLC.",
        "label": "GPS."
       }
      }
     },
     "auth_ref": []
    },
    "agx_RobertsCompanyIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "RobertsCompanyIncMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Roberts Company Inc.",
        "label": "TRC."
       }
      }
     },
     "auth_ref": []
    },
    "agx_PercentageOfMaximumSharesForTargetNumberOfSharesAwarded": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "PercentageOfMaximumSharesForTargetNumberOfSharesAwarded",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnusualOrInfrequentItemTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnusualOrInfrequentItemTable",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unusual or Infrequent Item, or Both [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r94"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote [Text Block]",
        "terseLabel": "Named Executive Officers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r729"
     ]
    },
    "agx_DomesticNetOperatingLossCarryback": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "DomesticNetOperatingLossCarryback",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesNetOperatingLossCarrybackDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of domestic net operating loss carryback.",
        "label": "Domestic Net Operating Loss Carryback",
        "terseLabel": "Domestic net operating loss carryback"
       }
      }
     },
     "auth_ref": []
    },
    "agx_Plan2020Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "Plan2020Member",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the 2020 plan.",
        "label": "2020 Plan"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name",
        "terseLabel": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r729"
     ]
    },
    "agx_ReversalOfProfitLossRecordedInPriorPeriods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "ReversalOfProfitLossRecordedInPriorPeriods",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of profit (loss) of prior periods reversed during the period.",
        "label": "Reversal Of Profit (Loss) Recorded In Prior Periods",
        "terseLabel": "Reversal of profit"
       }
      }
     },
     "auth_ref": []
    },
    "agx_NPricedChangeOrdersIncludedInTransactionPrices": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "NPricedChangeOrdersIncludedInTransactionPrices",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "terseLabel": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest",
        "totalLabel": "INCOME BEFORE INCOME TAXES",
        "verboseLabel": "Income (loss) before income taxes",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r85",
      "r118",
      "r197",
      "r211",
      "r217",
      "r220",
      "r505",
      "r518",
      "r646"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Diluted",
        "verboseLabel": "Diluted (in dollars per share)",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r154",
      "r168",
      "r169",
      "r170",
      "r171",
      "r172",
      "r180",
      "r185",
      "r186",
      "r187",
      "r191",
      "r437",
      "r438",
      "r504",
      "r523",
      "r644"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "terseLabel": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "agx_PowerIndustryServicesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "PowerIndustryServicesMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails",
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Power industry services.",
        "label": "Power Industry Services"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromStockOptionsExercised",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from share-based award settlements",
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r13"
     ]
    },
    "agx_TradeAndOtherReceivablesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "TradeAndOtherReceivablesDisclosureTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureAccountsReceivable"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionOutstandingWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r440",
      "r441",
      "r444"
     ]
    },
    "agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsStockOptionExercisableWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductConcentrationRiskMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Concentration Risk",
        "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."
       }
      }
     },
     "auth_ref": [
      "r38"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "agx_IncomeTaxRefundsAndPrepaidIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "IncomeTaxRefundsAndPrepaidIncomeTaxes",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails": {
       "parentTag": "us-gaap_OtherAssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesResearchAndDevelopmentTaxCreditsDetails",
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Adjustments to Compensation [Member]",
        "terseLabel": "All Adjustments to Compensation"
       }
      }
     },
     "auth_ref": [
      "r729"
     ]
    },
    "agx_TelecommunicationsInfrastructureServicesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "TelecommunicationsInfrastructureServicesMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Telecommunications infrastructure services.",
        "label": "Telecommunications Infrastructure Services"
       }
      }
     },
     "auth_ref": []
    },
    "agx_ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "ScheduleOfFiniteLivedAndIndefiniteLivedIntangibleAssetsByMajorClassTableTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "agx_StockPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "StockPlanMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "n/a",
        "label": "Stock Plan [Member]",
        "terseLabel": "Stock Plan"
       }
      }
     },
     "auth_ref": []
    },
    "agx_RetainedAmountUnderConstructionContracts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "RetainedAmountUnderConstructionContracts",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery Compensation Amount",
        "terseLabel": "Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r699",
      "r710",
      "r720",
      "r745"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation Amount",
        "terseLabel": "Adjustment to Compensation, Amount"
       }
      }
     },
     "auth_ref": [
      "r729"
     ]
    },
    "agx_InvestmentMaturityPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "InvestmentMaturityPeriod",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the maturity period of investments.",
        "label": "Investment Maturity Period",
        "terseLabel": "Maturity period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "totalLabel": "Weighted average number of shares outstanding - diluted",
        "verboseLabel": "Diluted (in shares)",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r179",
      "r187"
     ]
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsFairValueDisclosure",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails": {
       "parentTag": "us-gaap_AssetsFairValueDisclosure",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents, Fair Value Disclosure",
        "terseLabel": "Cash and cash equivalents",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "agx_CommitmentDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "CommitmentDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "No definition available.",
        "label": "COMMITMENTS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStockDividendsPerShareDeclared": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockDividendsPerShareDeclared",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Dividends, Per Share, Declared",
        "terseLabel": "Regular cash dividend declared per common stock",
        "verboseLabel": "CASH DIVIDENDS PER SHARE",
        "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding."
       }
      }
     },
     "auth_ref": [
      "r106"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "agx_IncentiveStockOptionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "IncentiveStockOptionsMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Incentive Stock Options.",
        "label": "ISOs/NSOs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months",
        "terseLabel": "2024",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r102"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Basic (in shares)",
        "verboseLabel": "Weighted average number of shares outstanding - basic",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r178",
      "r187"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two",
        "terseLabel": "2025",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r102"
     ]
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]"
       }
      }
     },
     "auth_ref": [
      "r226",
      "r656",
      "r816",
      "r861",
      "r862"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three",
        "terseLabel": "2026",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r102"
     ]
    },
    "agx_WeightedAverageRateDepositCertificatesOfDeposit": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "WeightedAverageRateDepositCertificatesOfDeposit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails"
     ],
     "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)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four",
        "terseLabel": "2027",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r102"
     ]
    },
    "agx_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriodForMonthlyClosingPrices",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "agx_IncreaseInLossCarrybackPeriodForCertainLosses": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "IncreaseInLossCarrybackPeriodForCertainLosses",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesNetOperatingLossCarrybackDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five",
        "terseLabel": "2028",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r102"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Policy [Policy Text Block]",
        "terseLabel": "Description of the Business",
        "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."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r642"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsFiniteLivedIntangibleFutureAmortizationScheduleDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, after Year Five",
        "terseLabel": "Thereafter",
        "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": []
    },
    "agx_MajorCustomerFourMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "MajorCustomerFourMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Major customer four.",
        "label": "Major Customer Four"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails",
      "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "terseLabel": "Statement",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r163",
      "r164",
      "r165",
      "r192",
      "r498",
      "r552",
      "r559",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r573",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r592",
      "r594",
      "r595",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r611",
      "r678"
     ]
    },
    "agx_PerformanceBasedRestrictedStockUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "PerformanceBasedRestrictedStockUnitsMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to performance-based restricted stock units.",
        "label": "Performance-based restricted stock units"
       }
      }
     },
     "auth_ref": []
    },
    "agx_PercentageReductionInAggregateFairValueOfStockOption": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "PercentageReductionInAggregateFairValueOfStockOption",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "agx_WarrantyPeriodForConstructionContracts": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "WarrantyPeriodForConstructionContracts",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsWarrantiesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails",
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instruments [Domain]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r333",
      "r336",
      "r435",
      "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",
      "r495",
      "r521",
      "r771",
      "r772",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r802",
      "r803",
      "r804",
      "r805"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r749"
     ]
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Exercise Price",
        "terseLabel": "Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r751"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement [Axis]",
        "terseLabel": "Trading Arrangement:"
       }
      }
     },
     "auth_ref": [
      "r754"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement [Text Block]",
        "terseLabel": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r755"
     ]
    },
    "us-gaap_UnusualOrInfrequentItemNetGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnusualOrInfrequentItemNetGainLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unusual or Infrequent Item, or Both, Net (Gain) Loss",
        "terseLabel": "Total amount of fraud loss and professional fee recovered",
        "documentation": "Amount of (gain) loss for an event or transaction that is unusual in nature or occurs infrequently, or both."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r203",
      "r418",
      "r785"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Underlying Securities Amount",
        "terseLabel": "Underlying Securities"
       }
      }
     },
     "auth_ref": [
      "r750"
     ]
    },
    "us-gaap_LiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Noncurrent",
        "terseLabel": "Noncurrent liabilities",
        "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r73",
      "r74",
      "r75",
      "r76",
      "r160",
      "r265",
      "r309",
      "r310",
      "r312",
      "r313",
      "r314",
      "r316",
      "r318",
      "r320",
      "r321",
      "r424",
      "r427",
      "r428",
      "r446",
      "r813",
      "r852",
      "r853"
     ]
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Concentration Risk",
        "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."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r226"
     ]
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r755"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Grant Date Fair Value",
        "terseLabel": "Fair Value as of Grant Date"
       }
      }
     },
     "auth_ref": [
      "r752"
     ]
    },
    "us-gaap_CorporateNonSegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CorporateNonSegmentMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other",
        "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."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r211",
      "r212",
      "r213",
      "r214",
      "r220",
      "r796"
     ]
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change, Percent",
        "terseLabel": "Underlying Security Market Price Change"
       }
      }
     },
     "auth_ref": [
      "r753"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]",
        "terseLabel": "Insider Trading Arrangements:"
       }
      }
     },
     "auth_ref": [
      "r754"
     ]
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockAppreciationRightsSARSMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Appreciation Rights (SARs) [Member]",
        "terseLabel": "Stock Appreciation Rights (SARs)",
        "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Trading Arrangements [Member]",
        "terseLabel": "All Trading Arrangements"
       }
      }
     },
     "auth_ref": [
      "r754"
     ]
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock Units",
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r755"
     ]
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Recurring and Nonrecurring [Table]",
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis."
       }
      }
     },
     "auth_ref": [
      "r440",
      "r441",
      "r444"
     ]
    },
    "us-gaap_CommonStockDividendsShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockDividendsShares",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock Dividends, Shares",
        "terseLabel": "Cash dividends deemed paid on shares",
        "documentation": "Number of shares of common stock issued as dividends during the period. Excludes stock splits."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r755"
     ]
    },
    "country_GB": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "GB",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "United Kingdom"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r755"
     ]
    },
    "us-gaap_CustomerRelationshipsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerRelationshipsMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer relationships",
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships."
       }
      }
     },
     "auth_ref": [
      "r63"
     ]
    },
    "us-gaap_SegmentExpenditureAdditionToLongLivedAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentExpenditureAdditionToLongLivedAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment, Expenditure, Addition to Long-Lived Assets",
        "terseLabel": "Property, plant and equipment additions",
        "documentation": "Amount of expenditure for addition to long-lived assets included in determination of segment assets by chief operating decision maker (CODM) or otherwise regularly provided to CODM. Excludes expenditure for addition to financial instrument, long-term customer relationship of financial institution, mortgage and other servicing rights, deferred policy acquisition cost, and deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r208",
      "r647"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInContractWithCustomerAsset",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Contract with Customer, Asset",
        "negatedLabel": "Contract assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r786"
     ]
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureFinancingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Text Block]",
        "verboseLabel": "FINANCING ARRANGEMENTS",
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants."
       }
      }
     },
     "auth_ref": [
      "r105",
      "r159",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r330",
      "r331",
      "r332",
      "r334"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments for Repurchase of Common Stock",
        "negatedLabel": "Common stock repurchases",
        "documentation": "The cash outflow to reacquire common stock during the period."
       }
      }
     },
     "auth_ref": [
      "r31"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount",
        "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r698",
      "r709",
      "r719",
      "r744"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "verboseLabel": "Contract liabilities",
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r497",
      "r786"
     ]
    },
    "us-gaap_AccruedEmployeeBenefitsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedEmployeeBenefitsCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Employee Benefits, Current",
        "terseLabel": "Accrued compensation",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Individuals [Member]",
        "terseLabel": "All Individuals"
       }
      }
     },
     "auth_ref": [
      "r701",
      "r709",
      "r719",
      "r736",
      "r744",
      "r748",
      "r756"
     ]
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-NEOs [Member]",
        "terseLabel": "Non-NEOs"
       }
      }
     },
     "auth_ref": [
      "r698",
      "r709",
      "r719",
      "r736",
      "r744"
     ]
    },
    "agx_EstimatedLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "EstimatedLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of estimated loss.",
        "label": "Estimated Loss",
        "terseLabel": "Estimated loss"
       }
      }
     },
     "auth_ref": []
    },
    "agx_ShortTermRentalAgreementsExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "ShortTermRentalAgreementsExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount short-term rental agreements expenses.",
        "label": "Short Term Rental Agreements Expense",
        "terseLabel": "Short-term rentals expense"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax",
        "terseLabel": "Gross Unrealized Losses",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r236"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureNetIncomePerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "verboseLabel": "Antidilutive common stock",
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r188"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]",
        "terseLabel": "Individual:"
       }
      }
     },
     "auth_ref": [
      "r701",
      "r709",
      "r719",
      "r736",
      "r744",
      "r748",
      "r756"
     ]
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NET INCOME PER SHARE",
        "terseLabel": "NET INCOME PER SHARE"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]",
        "terseLabel": "Forgone Recovery, Explanation of Impracticability"
       }
      }
     },
     "auth_ref": [
      "r698",
      "r709",
      "r719",
      "r744"
     ]
    },
    "agx_DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedLossBeforeTaxAfterYearOneThroughTwo",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax",
        "terseLabel": "Gross Unrealized Gains",
        "documentation": "Amount, before tax, of unrealized gain 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)."
       }
      }
     },
     "auth_ref": [
      "r235"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAccruedExpensesDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities, Current",
        "terseLabel": "Accrued expenses",
        "totalLabel": "Total accrued expenses",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO [Member]",
        "terseLabel": "Non-PEO NEO"
       }
      }
     },
     "auth_ref": [
      "r736"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent",
        "totalLabel": "TOTAL STOCKHOLDERS' EQUITY",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r81",
      "r82",
      "r100",
      "r575",
      "r591",
      "r612",
      "r613",
      "r672",
      "r685",
      "r788",
      "r807",
      "r848",
      "r864"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Weighted average grant-date fair value of options vested."
       }
      }
     },
     "auth_ref": []
    },
    "agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearTwoToThree",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromSaleOfHeldToMaturitySecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleOfHeldToMaturitySecurities",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Sale of Held-to-maturity Securities",
        "terseLabel": "Maturities of short-term investments",
        "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."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r230"
     ]
    },
    "agx_CashDividendAndTreasuryStockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "CashDividendAndTreasuryStockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "No definition available.",
        "label": "CASH DIVIDENDS AND TREASURY STOCK"
       }
      }
     },
     "auth_ref": []
    },
    "agx_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateYearOneToTwo",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "agx_TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "TreasuryStockSettlementOfStockOptionExercisesAndOtherShareBasedAwards",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementsRecurringMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair value, recurring",
        "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."
       }
      }
     },
     "auth_ref": [
      "r439",
      "r445"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO [Member]",
        "terseLabel": "PEO"
       }
      }
     },
     "auth_ref": [
      "r736"
     ]
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Depreciation",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation",
        "terseLabel": "Depreciation",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r51"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Number of non-vested options outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r672"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Number of Shares",
        "negatedLabel": "Shares, Vested",
        "documentation": "Number of options vested."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure [Text Block]",
        "terseLabel": "Additional 402(v) Disclosure"
       }
      }
     },
     "auth_ref": [
      "r723"
     ]
    },
    "agx_EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "EstimatedLossIncludingReversalOfNetGrossProfitRecordedInPreviousYears",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of estimated loss including reversal of net gross profit recorded in previous years.",
        "label": "Estimated Loss, Including Reversal Of Net Gross Profit Recorded In Previous Years",
        "terseLabel": "Estimated loss, including reversal of net gross profit"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested Options Forfeited, Number of Shares",
        "negatedLabel": "Shares, Forfeitures",
        "documentation": "Number of non-vested options forfeited."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue",
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r226",
      "r765"
     ]
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementFrequencyDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Frequency [Domain]",
        "documentation": "Measurement frequency."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Hierarchy and NAV [Domain]",
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value."
       }
      }
     },
     "auth_ref": [
      "r329",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r469",
      "r470",
      "r471",
      "r651",
      "r652",
      "r661",
      "r662",
      "r663"
     ]
    },
    "agx_AccruedInvestmentIncomeDividendReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "AccruedInvestmentIncomeDividendReceivable",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Weighted average grant-date fair value of non-vested options outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "terseLabel": "Cash and cash equivalents",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r133",
      "r640"
     ]
    },
    "us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsAndShortTermInvestmentsTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalents, and Short-term Investments [Text Block]",
        "verboseLabel": "CASH, CASH EQUIVALENTS AND INVESTMENTS",
        "documentation": "The entire disclosure of the components of cash, cash equivalents, and short-term investments. Short-term investments may include current marketable securities."
       }
      }
     },
     "auth_ref": [
      "r798"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfChangeInNumberOfNonVestedOptionsToPurchaseSharesOfCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Weighted average grant-date fair value of non-vested options forfeited."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestReceivable",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Receivable",
        "terseLabel": "Accrued interest",
        "documentation": "Carrying amount as of the balance sheet date of interest earned but not received. Also called accrued interest or accrued interest receivable."
       }
      }
     },
     "auth_ref": [
      "r779",
      "r866"
     ]
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://www.arganinc.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r761"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r724"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross Profit",
        "terseLabel": "Gross profit",
        "totalLabel": "GROSS PROFIT",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r88",
      "r160",
      "r197",
      "r211",
      "r217",
      "r220",
      "r265",
      "r309",
      "r310",
      "r312",
      "r313",
      "r314",
      "r316",
      "r318",
      "r320",
      "r321",
      "r446",
      "r646",
      "r813"
     ]
    },
    "us-gaap_PrepaidExpenseCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails": {
       "parentTag": "us-gaap_OtherAssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expense, Current",
        "terseLabel": "Prepaid expenses",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r139",
      "r279",
      "r280",
      "r641"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r376"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Value, Issued",
        "terseLabel": "Preferred stock, par value $0.10 per share - 500,000 shares authorized; no shares issued and outstanding",
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r511",
      "r672"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r377"
     ]
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureNetIncomePerShareDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfEarnings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Basic (in dollars per share)",
        "verboseLabel": "Basic (in dollars per share)",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r154",
      "r168",
      "r169",
      "r170",
      "r171",
      "r172",
      "r178",
      "r180",
      "r185",
      "r186",
      "r187",
      "r191",
      "r437",
      "r438",
      "r504",
      "r523",
      "r644"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated."
       }
      }
     },
     "auth_ref": [
      "r378"
     ]
    },
    "us-gaap_ReceivablesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReceivablesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "ACCOUNTS RECEIVABLE"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares, Outstanding",
        "periodEndLabel": "Balances (in shares)",
        "periodStartLabel": "Balances (in shares)",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IntangibleAssetsNetIncludingGoodwillAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsNetIncludingGoodwillAbstract",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets, Net (Including Goodwill) [Abstract]",
        "terseLabel": "Indefinite-Lived Intangible Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Available-for-Sale Securities Reconciliation [Table Text Block]",
        "terseLabel": "Schedule of available-for-sale securities",
        "documentation": "Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LetterOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LetterOfCreditMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Letter of Credit",
        "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InformationByCategoryOfDebtSecurityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InformationByCategoryOfDebtSecurityAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Security Category [Axis]",
        "documentation": "Information by category of debt security, either available-for-sale or held-to-maturity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnusualOrInfrequentItemAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnusualOrInfrequentItemAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unusual or Infrequent Item, or Both [Axis]",
        "documentation": "Information by an event or transaction that is unusual in nature or infrequent in occurrence, or both."
       }
      }
     },
     "auth_ref": [
      "r94"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccruedInterestReceivableNet",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Accrued Interest Receivable, Net",
        "negatedLabel": "Changes in accrued interest on investments",
        "documentation": "The increase (decrease) during the reporting period in the amount due from borrowers for interest payments."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_GuaranteeObligationsMaximumExposure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GuaranteeObligationsMaximumExposure",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Guarantor Obligations, Maximum Exposure, Undiscounted",
        "terseLabel": "Guarantor obligation maximum exposure",
        "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."
       }
      }
     },
     "auth_ref": [
      "r306"
     ]
    },
    "us-gaap_OtherNoncashIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNoncashIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Noncash Income (Expense)",
        "negatedLabel": "Other",
        "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other."
       }
      }
     },
     "auth_ref": [
      "r98"
     ]
    },
    "us-gaap_MoneyMarketFundsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MoneyMarketFundsMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureDescriptionOfBusinessAndBasisOfPresentationFinancialInstrumentsOnRecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Money market funds",
        "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."
       }
      }
     },
     "auth_ref": [
      "r817"
     ]
    },
    "us-gaap_GuaranteeObligationsNatureDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GuaranteeObligationsNatureDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Guarantor Obligations, Nature [Domain]",
        "documentation": "Represents a description of the nature of the guarantee or each group of similar guarantees."
       }
      }
     },
     "auth_ref": [
      "r305",
      "r306",
      "r307",
      "r308"
     ]
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReporting"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Disclosure [Text Block]",
        "verboseLabel": "SEGMENT REPORTING",
        "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."
       }
      }
     },
     "auth_ref": [
      "r193",
      "r194",
      "r195",
      "r196",
      "r197",
      "r209",
      "r214",
      "r218",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r226"
     ]
    },
    "us-gaap_UnusualOrInfrequentItemDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnusualOrInfrequentItemDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSupplementalFinancialStatementInformationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unusual or Infrequent Item, or Both [Domain]",
        "documentation": "Event or transaction that is unusual in nature or infrequent in occurrence, or both."
       }
      }
     },
     "auth_ref": [
      "r94"
     ]
    },
    "us-gaap_GuaranteeObligationsByNatureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GuaranteeObligationsByNatureAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCommitmentsLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Guarantor Obligations, Nature [Axis]",
        "documentation": "Information by nature of guarantee."
       }
      }
     },
     "auth_ref": [
      "r305",
      "r306",
      "r307",
      "r308"
     ]
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segments [Axis]",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r194",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r210",
      "r211",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r220",
      "r226",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r297",
      "r299",
      "r300",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r650",
      "r767",
      "r861"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Repurchased During Period, Value",
        "negatedLabel": "Common stock repurchases",
        "verboseLabel": "Common stock repurchased",
        "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."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r77",
      "r78",
      "r106",
      "r558",
      "r611",
      "r623",
      "r684"
     ]
    },
    "us-gaap_EquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestments",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIncomeTaxesSolarEnergyProjectsAndSupplementalCashFlowInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investments",
        "terseLabel": "Investment account balances",
        "documentation": "This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r264",
      "r778",
      "r806"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage",
        "terseLabel": "Initial vesting percentage",
        "documentation": "Percentage of vesting of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r818"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r728"
     ]
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount",
        "terseLabel": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r694",
      "r705",
      "r715",
      "r740"
     ]
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis",
     "crdr": "debit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Amortized Cost",
        "terseLabel": "Amortized Cost",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r232",
      "r274",
      "r508"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, shares issued",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r78"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r224",
      "r225",
      "r560",
      "r561",
      "r562",
      "r615",
      "r617",
      "r620",
      "r622",
      "r625",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r639",
      "r655",
      "r677",
      "r816",
      "r861"
     ]
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure, Amount",
        "terseLabel": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r728"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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,332,747 and 13,441,590 shares outstanding at October 31, 2023 and January 31, 2023, respectively",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r512",
      "r672"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r573"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common stock, shares outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r78",
      "r573",
      "r591",
      "r864",
      "r865"
     ]
    },
    "us-gaap_HeldtomaturitySecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "HeldtomaturitySecuritiesMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Held-to-maturity Securities",
        "documentation": "Investments in debt securities classified as held-to-maturity."
       }
      }
     },
     "auth_ref": [
      "r120"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Repurchased During Period, Shares",
        "negatedLabel": "Common stock repurchases (in shares)",
        "verboseLabel": "Common stock repurchases (in shares)",
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r77",
      "r78",
      "r106",
      "r553",
      "r611",
      "r623"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]",
        "terseLabel": "Adjustment to Compensation:"
       }
      }
     },
     "auth_ref": [
      "r729"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Weighted Average Remaining Term (Years), Outstanding",
        "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."
       }
      }
     },
     "auth_ref": [
      "r107"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationSummaryOfActivityUnderCompanySStockOptionPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term",
        "terseLabel": "Weighted Average Remaining Term (Years), Exercisable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r54"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date",
        "terseLabel": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r693",
      "r704",
      "r714",
      "r739"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureRevenuesFromContractsWithCustomersDisaggregationOfRevenuesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]"
       }
      }
     },
     "auth_ref": [
      "r224",
      "r225",
      "r560",
      "r561",
      "r562",
      "r615",
      "r617",
      "r620",
      "r622",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r639",
      "r655",
      "r677",
      "r816",
      "r861"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Executive Categories [Member]",
        "terseLabel": "All Executive Categories"
       }
      }
     },
     "auth_ref": [
      "r736"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]",
        "terseLabel": "Measure:"
       }
      }
     },
     "auth_ref": [
      "r728"
     ]
    },
    "agx_PercentageIncreaseInCommonStockDividendPerShare": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.arganinc.com/20231031",
     "localname": "PercentageIncreaseInCommonStockDividendPerShare",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashDividendsAndTreasuryStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage increase in common stock dividend per share.",
        "label": "Percentage Increase In Common Stock Dividend Per Share",
        "terseLabel": "Percentage increase in common stock dividend"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]",
        "terseLabel": "Executive Category:"
       }
      }
     },
     "auth_ref": [
      "r736"
     ]
    },
    "us-gaap_ConcentrationRiskTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTable",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Table]",
        "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r36",
      "r39",
      "r40",
      "r69",
      "r112",
      "r626"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsAdditionalInformationDetails",
      "http://www.arganinc.com/role/DisclosureSegmentReportingDetails",
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill",
        "terseLabel": "Goodwill",
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r134",
      "r281",
      "r501",
      "r650",
      "r672",
      "r808",
      "r809"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual [Table]",
        "terseLabel": "Trading Arrangements, by Individual"
       }
      }
     },
     "auth_ref": [
      "r756"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r756"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/DisclosureIntangibleAssetsComponentsOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "terseLabel": "Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r294"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Termination Date",
        "terseLabel": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r757"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive loss",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r27",
      "r84",
      "r137",
      "r513",
      "r547",
      "r548"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Title",
        "terseLabel": "Title"
       }
      }
     },
     "auth_ref": [
      "r756"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Duration",
        "terseLabel": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Adoption Date",
        "terseLabel": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r757"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Securities Aggregate Available Amount",
        "terseLabel": "Aggregate Available"
       }
      }
     },
     "auth_ref": [
      "r759"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]",
        "verboseLabel": "Schedule of changes in the maximum number of shares of common stock issuable pursuant to outstanding restricted stock units",
        "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."
       }
      }
     },
     "auth_ref": [
      "r55"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]",
        "terseLabel": "Insider Trading Policies and Procedures:"
       }
      }
     },
     "auth_ref": [
      "r690",
      "r760"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossCurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCashCashEquivalentsAndInvestmentsAvailableForSaleSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Accrued Interest, after Allowance for Credit Loss, Current, Statement of Financial Position [Extensible Enumeration]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r275"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "terseLabel": "Borrowing available under financing arrangements",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r18"
     ]
    },
    "srt_ExecutiveOfficerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ExecutiveOfficerMember",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Senior executives"
       }
      }
     },
     "auth_ref": [
      "r797"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted [Flag]",
        "terseLabel": "Insider Trading Policies and Procedures Adopted"
       }
      }
     },
     "auth_ref": [
      "r690",
      "r760"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]",
        "terseLabel": "Insider Trading Policies and Procedures Not Adopted"
       }
      }
     },
     "auth_ref": [
      "r690",
      "r760"
     ]
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityTable",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r787"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Compensation, Stock Options, Activity [Table Text Block]",
        "verboseLabel": "Schedule of stock option activity under the Company's stock plans",
        "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."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r12",
      "r55"
     ]
    },
    "us-gaap_PaymentsToAcquireHeldToMaturitySecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireHeldToMaturitySecurities",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Held-to-maturity Securities",
        "negatedLabel": "Purchases of short-term investments",
        "documentation": "Amount of cash outflow through purchase of long-term held-to-maturity securities."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r230"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureCustomerConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Domain]",
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r39",
      "r69",
      "r70",
      "r226",
      "r626"
     ]
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityLineItems",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureFinancingArrangementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Line Items]",
        "terseLabel": "Financing Arrangements",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r787"
     ]
    },
    "us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfNonvestedShareActivityTableTextBlock",
     "presentation": [
      "http://www.arganinc.com/role/DisclosureStockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Tabular disclosure of the changes in outstanding nonvested shares."
       }
      }
     },
     "auth_ref": [
      "r56"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.arganinc.com/role/StatementCondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid in Capital, Common Stock",
        "terseLabel": "Additional paid-in capital",
        "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."
       }
      }
     },
     "auth_ref": [
      "r79"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "940",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-15"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c),(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "280",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-4"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "SubTopic": "10",
   "Topic": "320",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-8"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.25)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "((a)(1),(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-4"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-15"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-16"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4I"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "820",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.17)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//205/tableOfContent"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 201.5-02(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 201.5-02(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 201.5-02(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7(a),(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.8)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483613/220-20-50-1"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//440/tableOfContent"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//810/tableOfContent"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(13)(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-8B"
  },
  "r121": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r122": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r123": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(1)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r124": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r125": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r126": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r127": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r128": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r129": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1"
  },
  "r130": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7"
  },
  "r131": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r132": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5"
  },
  "r133": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r134": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r135": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r136": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r137": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r138": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r139": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r140": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-17A"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r147": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r150": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-11"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//260/tableOfContent"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//280/tableOfContent"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2A"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481664/323-10-45-1"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479130/326-30-45-1"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-3A"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350-30/tableOfContent"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482551/740-270-45-3"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-9"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-3"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-12"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-2"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481444/860-30-45-1"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-7"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(4)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(1)(h))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column J))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column K))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-1"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-2"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-3"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "48",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482785/280-10-55-48"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479081/326-30-55-8"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r699": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii",
   "Section": "6"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-10"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-3"
  },
  "r764": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(1)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r765": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r766": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "SubTopic": "825",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r767": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H"
  },
  "r768": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r769": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Topic": "321",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//321/tableOfContent"
  },
  "r770": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Topic": "325",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//325/tableOfContent"
  },
  "r771": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r772": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r773": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(2)",
   "Publisher": "SEC"
  },
  "r774": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(3)",
   "Publisher": "SEC"
  },
  "r775": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(i)",
   "Publisher": "SEC"
  },
  "r776": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(ii)",
   "Publisher": "SEC"
  },
  "r777": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(iii)",
   "Publisher": "SEC"
  },
  "r778": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r779": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r780": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r781": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r782": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r783": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r784": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r785": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483614/220-20-45-1"
  },
  "r786": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r787": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r788": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r789": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r790": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r791": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r792": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r793": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r794": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r795": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18"
  },
  "r796": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r797": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13"
  },
  "r798": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//320/tableOfContent"
  },
  "r799": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-1"
  },
  "r800": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r801": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r802": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9"
  },
  "r803": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r804": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r805": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r806": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r807": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r808": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r809": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r810": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10"
  },
  "r811": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r812": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r813": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r814": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r815": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r816": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r817": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r818": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r819": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r820": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r821": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r822": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r823": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r824": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r825": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r826": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r827": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r828": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r829": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r830": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r831": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r832": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r833": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r834": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r835": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r836": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r837": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r838": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r839": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r840": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r841": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r842": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r843": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r844": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r845": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480682/815-20-25-6A"
  },
  "r846": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r847": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r848": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r849": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4"
  },
  "r850": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r851": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2"
  },
  "r852": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r853": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r854": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r855": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r856": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r857": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r858": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r859": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r860": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-2"
  },
  "r861": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B"
  },
  "r862": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r863": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r864": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r865": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r866": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>85
<FILENAME>0001558370-23-019517-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001558370-23-019517-xbrl.zip
M4$L#!!0    ( )6"AE=[,_Q%@Q4  $/8   0    86=X+3(P,C,Q,#,Q+GAS
M9.U=6W/CN+%^3U7^ XY?LJ<J\G5F-G;M3$J6Z!E59$E'DF=VGU(0"4E,>%$
MTK;RZT\W>)=(\")Y1Y/P87=DLH%NX&MT-X &^,M?7VV+/#,N3-?Y>'9U?GE&
MF*.[ANFL/I[YWK+SE[._?OKC'W[YGT[GU_OID!BN[MO,\8C.&?6805Y,;TWF
M[F9#'?+(.#<MB]QSTU@Q0JXNS]^=7YY?W9!.YY.LXYX**.,Z1%9V?7X5O>B%
MU;G.';FZOOAP<7UY?4-N[RZO[][_3":/$=TCB+8TRPA?A7$G]#6S*?$H7S%O
M1&TF-E1G'\_6GK>YN[AX>7DYAU?4,1W]7'=M6<_5Y<W5&:&>Q\V%[[$'E]M]
MMJ2^Y4%G./_RJ2690Q]9#'LA0Y!Z#9WJB+O7!;<,+^:(?YZ[? 6<+M]?!"\C
M4LMT_ID1+4U\<X&O%]!U<<U[]"\WDOKJ]O;V0KZ-2(6I9R403#]?N<\7\$*V
M.2VMJ9#!=(1''3V607=]Q^/;_,K#EQD&NL\YZ%91B?!MIH@O.BM*-W&))14+
M*5'X8I?8VVZ8R*66;S+D[%5?YXN";S*DPMOP@DZ$-QE2AYJZR*>5K[+U<J](
MY/A5%B-AY*$.^%Q=_/HXG$F5CX@-C^_4G@$57E_@:V1PW;F\Z:#J!R7IZK7*
M. G[T?'MZSPEO[Z$GO28(\R%Q3I(QCCUP,Z(SC7:F5!*MN%,Q[%?J'NW%]RU
MV$5"F4(<W^0C+M]D>H^S92&/#Q?P-AE>BG'PZS ]N@"F A'B5UDE];BBG? V
M5B3FE74(D"2]:.8K';S(ZB=;5>GKD"Q6B'*+&/=';D_L:+%9KL6=77MC*'O.
M2'I.6E8SU^Q^",RN&>NN;A28 -W(&@O=Z A_44B,+X,"G_Y B/0_U'%<3^H[
M/HH>;C:FLW2#)_ ,+?4=]O@<1B+!'T_30?'8D]CT3:%;KO YFT$'&90;7<?H
M^<)S[>ZK*?JN34TG!$F<$1.:6*]()%TDG\&6IF/*EH![N;PD'9)4"']$=1*H
ME 2U$JR6!/62J.)?+G:KVV'D0W P=C[)WS#6!7A8V8$XXL+"(8FBH$XMW;?J
METO$*BP6/HSP.@A%Z#1/QA ]US' 2#(#?@C7,@T<>/%;,5YJE$/150AE@W(*
M/&'(23SC<O"[-Q[UM=%,Z^.OV7@XZ'?G\,=L#O\\:J/YC(P?B-:=C@:CS[,6
MT\J8WE,+[=ELS9A7"<QL 26*UU51O.\.NZ.>1F9?-&W>HM=L1/:H6#]8[DOM
M(9D45*+YKMF8['5G7\C#</RMQ37?7_:9T+FY0<[CY;TO3(<) 4X+9J4FH#-)
M=<2#Z<#8,ZDU@#"$^P%^SI3A- 6,JBS19QXUK3T7^T9<%!KS#JSXU:Y7[FNS
MWG0PF0_&(U2.^1>-W#_-!B-M-B/=$5J"V4"JS62JS4"%NI*R0V*92$HHG+)3
M$@M&I&3DIU"V_VWU+5??<+CC?]J_?/.96MB1H <#YYD)3W9KZF>!,C6I0JDI
M-Y<WNYJ"=N//@?70_N]I\+4[E!8%E60P^JK-YH&%Z9 4KQ;[$NP'T$IGA5/?
MKA#@OWNNO7&=P WLOBO ODD52NS?[UN) 0S\T>?!_5 CW=E,DS G?(B[) DG
M$K!JH:\)_0.*P8;F,S.25P^^!Z1=V^6>^6_9.)SW&K[%*FI#PUI+%&3/..0I
M2,":2-YI_0BXDS1[$O%OM:;,6;BV;0;&->C'1Y##]NTAHX)-Z%;I)>J456K
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
M=O-6UI;0WN57'S>SGA#OE>&J/L%.:(0>R1,=AM=I4Z@_-.^:S5MU2)8?B4N
M*;A/E+A03+<KV7',9^19?$>X((?2; H[QK( %615>"*637@:' KB4O#RT1#'
M*SL,0M%IBIR4ZI$G2$3>YH 8.M7]8-J;^%XIF9O)3HA)(6BJ.[NZ;3N12$/3
ML;M>VUPX@>DFL/'F-:493XCJBF!5=W-'-#Z%A^QET B8QX5S2@JR.VCJ6-SS
M^.493XC\BF!5WV":8&22$+^7=N'9A&F\+<#[^5C)%017NL]4P_G^A!T6!1PH
M"=H@6<H)4;\+Y");5SF-_+#G_#D!'9/L<,_[WU8+$-36QS^TA][@UX.'",H&
M,QPA$F#' D7$AY?37R12#A%01;>>::> .BCZ+_P=G2<PWJR9"5/F$2C#F$Z1
MQ5T&/+ 0!^YXHFH'TZ0H V\KT!Q%[J$F]3JP>DPVV1,>2LVJSVGIT5F ,<3^
MBP.=X?W[3T)/HL0AW[QGW0J<EZ+-=/$"_F^&63/<4GMR4^V;PZ^ Q6$L'WP\
M0HL0@TH(@A&Y=*I=GE$]:]J2RYQULVI*4/%B+BC%0LAF@2*8Y ,F%3'>$+8<
MLO;"LN>CB_.=@QE4TH'JJW!+XQY,.PY5E&<3\6XA/U-:#]>@AT\G9POR"BA=
MD:NA.^#H);J<MX77D5. >D:AK-<AJCVY-=[ZO(Z)KUN@.8Q^(->>^(]F0,-.
MOJ_#3Y;T,J7YU;.M+9GE=SC5="'DBM1\96L]MD(+&TQE;46X@',PENV4<2PN
MRZHM\ /;=M 3]\J?7"GG8#8[T(B*7DX&%_>6I*BI< LX1RN14T;IWF3=0Q%'
M8:N;1E5]XIP"U+,697UB4>W);7W7X!.S*& %$4?7"=2SCBVYR754BL"JOFC?
M00N,K.CQ(PZ=R21IC#> \>.I$5H*5_65\G0LW6A3_Q$%,]\6"=(DD/<,C*"Z
M'E3T'M-7C$L"BN>E/0/&Q7&K?C0MZ[W$-\R6$;%3@:[X'8%$(6=@'SM0B(K'
MX-@[>^P=:WJ "VR^R!/(3WP&Y$L KWBF[7#G'A,OE69?;^4=<RS,= 8&4$$!
ML2%\4M5-7+Z#88&B9%X:R:0_ _KEL,?,?Q9<'SH\]9DP04)/6I7D.@,SJ**!
MV!CN5!T/<OV:C7BH,C[B1M:T3FY/T2HJJV&Y-M14=B$Y"XT;.%781K@EG*6I
MR&EC:3&BN^"U+#YQ&D,<O8:^MY,)>"+=P105=I9V5%DQ2Y-2=JM<K,VL J=L
MU0^M2CE+&Y+7R-)XE+VCFP7)7/FUUHIFO6*9S])4A!6QM!#IS?)=7_+K.,1R
M?1)B0$$L["RBJ?Q]2!P/$1I#Y-XD#AE,AQ@1!!-\^GM\NM9TNQX)<!B=E_5&
M] P)!MPL1X=><';%;@3>-EO-EM;0UL+0/XQQ>]0=3KJ#/KW\-_EA:/<_Q]V^
M,1YK>I^^!33NLFN!PY$Q-OH3G:5L:"OAM(1TFN]IIK:24&,B:G^*A?QS+2\)
M/9@.9I>#U[!YZTS\](=>)BL\-U1ZED\T>[K-?%#@SD$I9:EEL6U@*OBJ:O[[
M/.+V*YS_R'G?#F=]+[JM!<LY)02 $IN[B8]R/?Q-\V:SAZ?WN?\2W>HV_OZS
M^XO>8S>]:>?>[?]BC"?1S>^&EJBTMCY;[B6G.G:L?!Q,$)Z7"YJ75+V6MZ'.
MO-TG01@*]JAG.XZ6LKJ+L;/6+G1S%XQNC?I>=*5L\S>Y+O1#UDGN@M_;_]Z]
M[QF:/AX;K+=<5ZCY4VU=I1;565L/"HXYV$7/>6&' S8?V.!8>G&F&OK9 H$2
ML5^2&Z/RR#@%J=>:R]G)-O =X5;Q#G8!-/90L+PEL&PGSSL?I8H=>BZ0AS"
MI$FK'5LS9(<NDNWC,VYR7A\?R: Q(9)=?"2&EI1#6PIR2AV_2DT[J>QXY[L/
M_$Y>D?N"'GTOF%5H^ *%IAO,1P5BOHL1+3H85-2 ZE<+Y"#_ YEX\NKOQ(#B
MLL[/;HJ JWXEM@)2J)FW$E>QM#,U&2YTU6/PRF-]\$.\,YNAA9VGR7"1JWX[
MH@)42+L[BX&T9VHQ/.2JO\4L!U6?!@COU&Q2)9Z?[93#5R2,<&)S:?U63#1/
M?03$\W#.KI8M@P_(39<_-:\SNTJ#Q\?N:NLHGA#/HYHTEU:E+>*Z:IL1]Q#0
MBM)WZU9'BE::X 9/%\]^Z">N! 43G!]7+4Z]WD"6\-236;O4@NJS8U&P)3ZK
M;#%I77U2("+#(2RF$/V>)\:YKV 7"C[Q[Q%]*64]\F7YKU;(:;"_0^RJSV]E
M#+QH.42ZG-.PE-W"5WUJ*X62N]0J6<H9&PH'O.KS62&,(S0W'9B)X,'T 28=
MIDL1;V,QN06>H?&(ZT&Y:>WJVBLBFS=@1\CR/0N L@JDIK:M9MYI'YC<&MI$
M_\V(CD72VC2H3HOKT](5UGA84N8&-3=U+1&B0(ZT%CGBZ<$# DLT7?J.40C2
MO*_SFT'!Y>#=U:%>/U%"?#:6U#XUL>>Y;NX,YJ>' <ZSY_P7V2 ;#965;_S%
MB8^2V0J02B>9-9SBXACF@X]!)B]E=AUG.D7T!7.'RBS3X,M*.TH#V =FU:>B
M'*SL<3O=LWM0J9OP$.2LA%=*6E.?%3@1N+UU2&%5?<[)P=BG+RG:H170K9U8
M4^S.J)Q9<(LY1;N0 [OG66;NF!^%/%Z][QGW;.4HC#<+ID;&&[)"FCL90TV?
MT[ %.2[#WNHZ2M,YO$94CV,GT8@>D>G2VWT&C=1(7Z,NB)._;;%':5U[!2\2
M!T]=VQDA@D#;]+9K![T@UR]Z9&'K<L_%>B30EP;3.\1E88GS'&VH[EIXY6LW
MASJTJ%(%EY&W/]I1P\VW0M%^>C;P18=-9$<C:ZX+LU59ZG4#,FQ)+HQ+*4'!
M&\X<6!Q[X*0^-<9E8(I??:N;TW:(,7_T+\Z4AGZG ,,R' DS7(3V>!HO#?5;
MA>MUOC.ANP2P"K=:^RB(/-,APBR.N]SN9$[ KKXQ6>Y0#HV1-OZACXS:=B!_
M99I$MOX"!#VC?CA_HGO+'<<-X5L&F S"@ 2F1U^PXMBS="D';J<<^3*"T7!G
MEAS&_#+4:[\5B4XVXNTUH/JI6A:ID+HFIAL_9LVPZ4& G:<PH.%6)O[Z-8?8
MC]$QIJ^ZE3R,M&7!)VE1>U)+Q2.Y^QM$QN%BX<9 5W$7V48._:[K37T<J9LM
MV,=.4(70-ZV<T#?CG\-ASZ!+ GI/>^CV]7Z["Y_&$WW"OH6QZ&$P>ER&A602
M:+$(=8?"8<+$X8&*':I,0OF)?^Z>16)5:AIZ-EVS'&*T,!V;OUDIG$^]-IVO
MQ_1&0G5H"GKP-,Z61X_)C,S71VB/&!IF4>"Z3-KCXU >CH)3[-CBX@7AXLXA
M-^WQ\B8.1^1,2!W/!D4@'V&40JYK>L@/Q;OWO%PI\!^;1\1E%6 B9SJ4<6CB
M9P1B8Y7V9C(;')+>3%S]\MQOC:&L,\\I%%L\-WT-&QI+#N<+UW]'RST\,0"<
M3.JUV$*%9QMN!7B[]WYR/=98LB'V_X6LH.T3'E/%B8^6H0JP=N_?%#&36@+E
M=@3E&4Z!(1EHRGHSDEU[<::C974+>-MY-%^O(BW#/T]@37_]'U!+ P04
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
MOGB^7W%=4*T+4PRXKDZH46O8QBY%D"/)X\^FK&IUU#,KK2-%^K=G^XH9P6J
M$*GX6>-1K+^4DP!NQY/!9#B>?+,&LQG>F(WT/X)%[&>Z3(J'W-J.YV.VBW9:
M G@=YTDY/ 1[*A:@6=NI2D'D3HL8Y.B?L?)8";=';%"#=D1\S>++P9SS[ZPR
M"8]768"FK"<B=<H*@46#?A',P#/TG_$*DB=#*(V*-J8(AJ]=A:<Q1<3HE] =
MB"* Y,R$"6J*>RQM*$PJ-+WHGE8GFSL@L+&_QWD2@@-G5DURJ;5;0(TF$>QQ
M> S"+7"\I0=<YII= 6O HEVI4 ?^\\GH)I*6F%R8*L?H=>LA, WN[=VG*PS\
M$S>L)MM0]YH@I4AI7$V6*,-VXK]BXH@UD^?*!'N,,IBF68J3$J&TPR@38Y8<
MA+L+%J !TU25/O'X;\Z^@E[@ .[T&:" O.1W"),0-.=PB0Z_C ,7O,Y?["WY
M1>A;->Q3]P18K9RY*'4S8O5K &L2N:LX=JAHH_>\08H@WG:S,(T:\#)L)P+>
MOVQT#1&"+V1'9V_Q+]%.0=[\+DS91;6B"'PR#?-IR'6\X[L9]%[??(N [4Z#
M[$QVQ1&Q?'-3$D*5Q2M/8@]WI5G8#_%4@E4L>9.5O&0#CJE=5:;:4I^FY']*
M"[<EN@TSYL*^:AI'860'Y-QML($Q]TF)ZF:FY(&JS\V5I.D_8QS"S<9+'K^]
M(QJG>+[XU_+YXG!Z?S\^O&:;=*HWL3,-R@B3-PM AF3YG7Z")I/Y4DF8^J>T
M][Q+"5GUDG=93(9CW]<40IJR1V^<"&C0C<QOL8ULO)<$TR??6R5W1J]W$U)O
M112DK&YFUM%*]21639&9PDHP%$YFU<T,FLMD%;)*=GD"]<ON\'C2 5EA.),/
M;LHL**N,S,>32U3I%]!ABBCM"'B.YITIP4<^ZKF@<6$./-'(XML-.56M74;&
MF5J(.H0AGD3PDFZ3V G=;H[P1(_WJP[>K4\I;@M(WYIS.4)5[,.48**<9!6)
M.TWQDB=9\>(0<1.&E;LQ):C8JI S]!DFYSSJ,W+V.%T^ADD2/T>H%6U,"1O*
M2;""&*/%-7K=8B>=9WL<6%/JQ-<1SX$(H\7R&R!:!-S!,_YV!6: <"7]D4P%
M/"='O1M3RK'7$:8,?:<D9Q*,)Z<+Q%][ ,CAO^:MWHTIY=!;D#.3OAX.4>=K
MB"*B5C,\HNT/5@@D%[O8LZA<$U-*BXOE(D=+#S(XV/@U)*=:6/RT! GQE8[1
M"(8@)-L94XB[6AR2%!DV_[&"1_ND%ZQ&]"!2(9A9:FE,;6RY:4Z*)J-.FG^S
MR876I""WVFGS)_%I\['C'_?$N>+"Q8S<).;<<\G\=BJGR 6T]5QBH0@P _*E
M7PTX*V%J08Z7>F]EW6.>X+F+R\_"[[I/-#@*D#*T@*TFEB;+ 9^E^=]UQZZK
M6)K'5K\_\G[XT\OA#].7WR_Y.^RZ>M"]A6@(Z3F&0Y C&96DT@?+F9=MJ-L8
MY)UY68KT^X+S"#K?K_&FW"75Q/"J1;W6>;S9V&@W70[7Q/C'P0Q@]#T';]II
M@T<\J*+'^+GL,<X7T^$_SZ\'\]$-\1X?1I/Y8#&>3LA/"0+D(90$!<L++'1
MP@H)%E9,T#"D5.5\;2-08F2V7LSU[@CS8._(=X,7&[ERE2P;]Z_C#24Z/!Y
MD(%4@#',VVU;O+G'D?*4&[!XUJ;Q2$K@/OAV4/E^2C=#&>#2"U4_MY!WP@']
M2L1:*6;SQXI")\(VNO<5?=A'OE2*D!WZ95S)"!X?*KWR%CK6[,6WQAIV-<O&
MZ]")9HO5YNOHSQ@[V,>,JG :K0%:8*<RR<4()S!XQ@8'W!GT?>RJDT9MJV=-
M)(S9\'2CU#UST["CD^[(_T;VGN$X2':?O>MR<?B36;X[F4+ZT?@BSW\87?^5
M\EV;KA>'/_D9^P1TO<CS'T;7,;>7P-.I[@P,C,G!?L,:SV#[#Z/T!^X7LL;H
MBD?>D3\\3FZ$_ZZ&Y<D;CVX'7XW=/XS1Y-W!2B9IWB)(X/<#[2'JS',Z-AD2
M4NLEB;<K:L=A&!]77%4;,@RW'VA?4M=^#)/8#[-6[9W;&('0O(5*#;F3=^?>
MPBJE)K(?QLP.DIO$HNJ[_8UOS+W>4]W[I(S\\538O'5"!35CKD.?JN*W,:UK
M2JQLX5WOSY<_*212&OV\]P^3,UEQ*6!!9#M=C@/7>_;<V/8YMX(X<#] SJ2
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
M"G8]<HH\<%W*X 6\@\'J#F^57*&!*?5@SL-"M7>5"M0:)NL$K6&,$."^ UZ
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
M=!-7-J)V%%",JPN+-87-B9 /.9FOH4@LHU3</" E+?[N*GHHIQ?A+YXA09V
MP%XFL)\+S"S7#U]HMA(B!T#ICBW#OFG!JH(@!CH5K%:"F]+O. '-&@/U(*8$
M@KSX],7M.%=9\CW?#5CD3*Q[&L$TL(B714S,5VYWJ !QKF/H.:G?GRCVXQQX
M0F8-VY)Q]+N;" %?L9HV5F-EWMK(<&/%^4B+BGC^2)P@E]YKQODY#>G&U^T!
M&[$PEQXK@:JKD1$%:8&RX$FQ"F2/664Q#X:7FSCYD*'B)ZF/E"V//C#9:"[;
M8Y-LXT17MW"3][_X(CS?L#THX]]G>\]IDM!45]S2A(08\;02IQ*[-&+@1"$M
M6*I'OR0DJ,PLT8C PPX$]B&47Z#A%[KU+!#QS%]IK&A+%I2]8F8EVKK<TO0Y
M8HZO.%+J#[8VN*BQ%7OA#D(JS8A8D11;SE0!%"G' %.5=6 B@@*YMH@BC!@U
MZ2QH)I4O+OY"=1C0^IJ7KT>!%Q.V$,=/;U91DW%\Y3'2 I;P+#FD VTBH"V(
MESP+N1K.UWIXY(8,)B%J7114P'BM#_3<:/H59 A%(C+#&6HC;N\(.HF#OJ@>
M1'R+@W=VW[>A+*$- 9=2%TUBFM,6.FQ'4A9F]FS3%65H*"/C3N;^:)&E)(64
M5.>[7'XI+/"]1S]P(,&N3,E$>[;&EKF8-MF<&JI+1JD7K3&+>(#GB"'J&&N1
M,>3X4J80?94[0LI"G+A9'"3KNH .<<QO_.*GSQ?[)&6+>,Q/S=:S8:#@DJTU
M"FHV.2VZ(Y;7P)^M >9D^"UADA.:B+"5@Z;85NQ"/D<B/(>K.NR0RVH[4]S7
M%MDE&S2)U[ !56 Z8GEZUJPWGOR8)]6.#ADC/L;:6H@J9'+3RO)E^=Y[@R5Y
M&JZSLI^;<A?<>C-@)N:2%;81WVX?:J+DB)7:L]IZKYJ1Y.>HO.3MQN(\A75T
M/&(J"IEWDLQYU5N6377.W%5[A%S4MZ-V&A(5EPS<2N#VV]V"A",F;<'CL=O>
M@AQZAK,?\0LYG8GWV%^>TTQ,&P*G<"U499_VV(Y? ^WO^N? JVJ4>H')''L1
M^:1N/FDD%DG0'NYS&PDY9[@68EL8L(&*2X;<R&9;@RX(.GE-LK=9.+S/?7WW
M\VSAU'WNK,LB=#]>_6/OQ_0G&JR7T:V7[F.VBUC0%?RO?O%M@8_X]$M;(2LO
MP]@BXSP<TXZ[FH;F^+S+MZ! @,19&IUM,R*DI((>DCI:WJ(O%>^7&<7I&7,'
M6W<N:3&GLZ)TS6N-%EY YYNV%MF" .IK3"W%/'BMR1(;ZS6G5NS5M30C( H!
M@02HZ_AVV>))I^,$S@!]A^WRT/%,7SP_@!#8512#S*6,E_11M_5M3<6A1=-.
M8./2:2;AQ@)JPZ/5,@K@DHE.2$'Y;!/%9T#;O>6TF_3RHNI5I$S =R7-?@K'
MAIG?8L?L].V>B9-.PS44]^X Q':Z# 0<LMQ&,8U&J\5VPUX;V+,RU9S&A' J
M$Y[5* BY9Z6M998-=%<(NP-T+BMME-6Q$-/1)_?3""D=%TIR/(347^C(S5AP
M.Y%Y+#@+_V;;WA.(_E[YH1>N>HC^&@DY9ZH68EN8K(&*2Z;;R&9;$RX(GE+T
MM_TL'$9_KZ[OIG<7+D9_V6:_[/D^WTA]K1MV)"9$_ UPLUBJC:\>"W7#V\26
M?J,+SP"5J+ %E)NJ.[.[;2U@ZU=71K6I^4;5)[YA#G1(^+9D%D=E1VH,5!LR
ML:2W'V8P\WC-W'_\1C0O$SAC1)TE7#GT2D$EG S\S_F[:,DL>\ML;1.&5N,Y
MDO$P":5-=*B0\/,;>JZ:TAK<;V>HI,!U*9716;9$:D+K??'BM?Q>WZD<Y([>
M'Y_&P>VX YOC![7^#FANQEC:B5R)L6P*(5V)L<PV&[I*YYO9ZXK?UGY@J_X\
M!+'A_T.0]\4+*+]WFC\)"C],PW7U#Q*D9C8'&0G/V ><.-DK## ,BOL83(YZ
MMQ\^$NPO\[$(# 9MD8& >-"+2'0FI!Q"_ CIB<._20CH=?DC3N;5U>Q"O/$T
M^X^+GZ9WGV;D8;J<$?'?[(<[_O@3KA,[2G+QT&#]JL,JV,-SQ?(<BWG7?)2Q
MF<!S?3C3+7O%<3E <9@8(BK?$>S!84ZR!U6)XB;4A!1L'3ALP1GR'M")SW W
M6Y+KNXN'V70Q8U,W$__U-?N;>'EO>G<I_F/V?SY?_SR]@6?Y3M@C#_$I3M9?
M]N[^3L^;#>N<AG4P.^X"9J$QDCK([.@<PX3,V%_9ANY^]G ]OQQ#_$7JQ:E#
M$W ^^W1]=P=9T>9I&,U=PF.L15_#O(HC7"NB#9=^L@JB9!_3AKJ'X\GB.LT^
MIN30;QY#$\UU'L^T^HEHH#N1>GT6%4#,92HK)DKR[A1/##1!=_.[,^XZI!MT
MS)NX5U'QX#\]I_/-YT1T'I\_IIX?0J RWU]>167_'/Z,1U,CBJ,HXKF,'B9"
M]A9'D$-Q%$?S6S,!3O$LVIPQFJ)!%,FI0C2[.*Y!M<?!,ST.=;$8<%[V2=ZV
MGT32Q%!Y8L23/]%CX#_QKO_8CXGN=SN1%/2"W'->AXS1+>>N84=AC8WXW&@[
M 2OOC]JAXCQ(VH:W^NN>$C8IEGXB$7!G/3]2TL_W]S>S6[;1G]Z0HAR2+>)7
M\X?;Z?)Z?H?>*DH\($23>\_7E974H+!?S:@Q7'\?HP!!? GC@ ?=FQ<<C  <
M?J,T"ZZYP>[8[WQ!*=^2.C)Y[#V]<OW\^-T/'[F.LC\<O FGTE$MU/@ZVL P
MZ*@&9# =74>K/?==BB=/C;PT?/6R.0_?4"3?#*NY*E-KQ_[!AA#5W/J<>.37
M5.(G+\S>C[I@F\DH\-=B60S7]VS.<LV;;[*SKQ<LV%]$%5C#YJXGVHBOM/0Y
M.9477?H@C//Z2W^<UU\WG"TN'J[O84\%@=3E3S-R_GEQ?3=;+'BHY'RZN.:E
M _</LP5LR/!W7T=-1QDZ6M+7]#S0U];W/\R)&I5ARGJS+\48IV=J6B'JZZHT
M#-P(D ;B<5MY**B"*@8CY6B5."X,2/B( Y_\;%XD'F<.3]!S/= 7&NXIU(@K
MWQ\P+^W6V(C1VW8"5B*U=J@X4=DVO-4CC;.?9W>?9]EMSHOYW?)A"O5XOUPO
M?R(7GQ?+^>WL 3O_8):P::VT1W=6-XUKFRVNB]K9Y$<S='$!1=W/>L3UI3':
M<JRT)V",6;'$08F$19V "0FW"J!9G,,<OQX#+8/?Q)*R?&52JUWANQ.1D+YU
MLLJ/R;F 5GI+&F^EMVJ;%H%.E)RJZ+,5O*&.KXF,*]5[=GQ:U^S!P651MF"4
M*+IU/NEQ)D[ OLNW!IM6$"4DYGY-RWAU:U8#0]J%:?BHOX5S<3'_#'KR,+N8
M,:4YOYGUGP):QMX:7NCASVE)O#7'OUICXZ2,.@B8IY):H**EF%KS6%.SY3,E
MZS)$!&F05>#YVX0\TT"D1;RM>)1IS;;_'F'<^-#>C[[F=SG*JZ[E.Z3)-V3V
MZFUW 7\4&" I28%9>,[I\-%2!BQN2C#@ UZ\((B^,.H99S%=^REAO^.EQ7J8
M<CX/C$3V,I]$1([6E8LA8BKM>&G[]F-'+W6?HFC]Q0\")M4ULZSPR8=7RGAI
MEW6Y=4L:>,MC)V'EA;,5 90EM0.']6*1N^7T[M,UTTTR72QFV+LQO1Q-IRLK
M3,P*(VO!JE5'C6A(E4B6?"FJDW+,[#E6G#R-1=529PG=,BEH,&[MWG7 >(9C
M9E^V%34DBGF86*GIBW3;XN$!.@XX<"JN"M#D>[70KJB-T<=J0!U0G,84+SR%
MX&J:NYTH QB!\MP/W?M\'KUJ](G-X#@G>QL1\J.\"1;M[-[,5/VB6D36E!VW
M?5$"DK^%@702[B# Q?SV]MJ%>&?)>XO-=1,28I;"2IQ*0L*(@9-[L&!)V:8W
M0W)T"]U-+ <-!1*;40CUT31<M;J<WHZ&$V9D+ZS&JIH)8!N9+8<UY;R9?8(;
M5_,[N"H]8_L5['O1-_3)"VZ]%&SQ4*HFIVZ)BZ>4K823E=$*$44)6W!65S[
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
MO*.M0.;W65M3<=^2#6^RMB3AM-V:GQ]MMSK#]MN1-UC[$1__H<96<AC>7>U
MYT1,5/?6:FLB[INIX4G1KH;JP-NJ?4T!_CN,;20QO*?:GLQIF*KN#=6V-)PW
M5,-CH1WMU($W4WN:@*/?5]1T^S8PMXS.Z;WGK\O'X.JVUY4(5A?PKN*6'<';
M4D#L#MZ-U7I7#%%,$FU(P$G^(8&V+$4V1\Z%;*(XJS'<"<WF?XFJ=<1DS<Q3
MO(ZX8:.FSV0C(E)O8+*;* BR)C#[..8DRE^_(;/75;!?4\AK,P+^EGCAFOW_
M<,\@V#!^M$[(EV<:%K_G?_3883FFNR@&ED$E"OI)_EX#B+@IKK7MHH0W R%K
MWMV4S7G NQ?L=G'DK9Z_1NMYWM-GM7&I:40>*0&*U?<L\=QJKU/@S!.6EFO$
MD4O,*6QXCMGH.+W!Z6MC,[#=1:D7]+&=T5D<T*\N$2YGY^2J!;;R,-"&=DN=
M:#EJE4W"6YNHCI![]FKFM)/QRB2)H.E*;Z=^)X+XV]T>A/2SOI8N%L+HVEAK
MH5TK;U$VI]: .E2THNNXI[<<Y'6NG1CWHMJ6O'C!GHJ3DCLKG$:4"W'\:2=_
M@>2<71R(8V$>&89+5E)AJ86Q3$B&B=X3N9-@?/G(C^-P1(=C]P<_Y$=]6%"(
MMUK%>_:?^:45Y,H.LY3% Y!0L9*%$^ZS: )OU)'XCP'#2KH97QORKIII^RFR
M-VA[V@Z:?EOFNSB)"5G((:^RDU,^$/FU'(K 6&[6A/8V9^_%_]PQL^RRJLMX
MSGF,NE 6KJ!$<LG&#[EJ9;PELJN+?*-X#.#,:&9A08$$9>&WZ\8VU'K?;02'
M#7B05;\+>3>=PJ!K?SG,NUG^>YPY%,^D3,G_PA^;2M_N>=[R*HHO(O[$S IX
M@D<.X-Z+ZGZV+2).ZKV=6'FZW0X++<7>ACW3'6UXM$1_3_M+-HIXLB3AC=Y6
M$5NFX?<UW= 5O^9-Z#_V_DX\#<7HL)]Y&X%T]<TW6>Z6/Z,2;7<!Y:- =WZ)
M7Z1\]E%SF",3@<VK#61\4A! 3%?W(Z&H8T!^9_C9B^DY<\'K"Z9&E-]"CT+I
M/<OSMQ(D2P9.F?JN16?#1'H_XFYO>GNX_W$0WR,>:M(J;Q3W/0C.N\7#2*%H
MM\*(G#T"%2*/)#_-2A[?B R7#4?X>).LTV@RJ3[:(D8=UM<(1S +UZ8=TZ@S
M>3@+,_'.RZ,70#N*,6:#[?_BU-GY.*=/?AC:3,E)>/%/L" EUZ%8SS[%4:*[
ML3C(2*?KR0T3UZ<O5PQSDMY<*\>@_ER,"OMI,2[\A8V,? (>>2[S>3#T:AG'
M5:71ZK?K)-G3]>4>SCN"?\$C_S&3;_9*XY7/9-?-7P="B(ZFL]@5/]*:"HZ;
MZ,CFH%X@'TMR! -Y@!_%#(7TB9W9S7NZ7B=*$A+;R(_T;>Q$O:$^W(8O'-Q
M7E0YTNGN1PP3U^=^1#',2>Y'M'(,ZHFD45WR1>/.93D/I^ZL,I\+;\,/&@)3
MC'.ZCDH[:7VZJ=H@)^FD-%*,L5F",<<)@5F4*(PZC]4Y.&T')46N#KK7Y]O%
M^]A?Z:ZBC3;ZZ3JSEA,\4)3?-/1).KY6LHV7$:B]6I%S0S@[[RM5T&'B&^8'
M]KMBTG]7.881)_+4DA-)JTCG$$M8GQPXO(SU/]&MEK+^AG=S.>M;ODY+6M(]
M*X*ZL!V?+QE\^EOX8S=2+<?.6!$RQ_2]+9DX8??;:;I[]<"M.#A-)]Q!Q&']
ML"(O]>Y=<1\?H84W/I6L6-.T*4+L&!ZY-1LG[),[3GFO7KDE#Z?IESL).:QG
M5N;IWKUO[N=#M/#.[R\-B!!EMQ[=85_<[P0/E$@\/<_;IVSC)1U1O>RXV<A1
M-K^.I#$?FV?LL74PO7AX,[]ZM?<">+'W>].W&YL39,>+,_$U)SPN&W@.&4-.
MQ!1H^3JOQ!I_T]N%[; 3'\,P9_SM\P_0V3CYNC+3I^VP]4N<;NX^#O05.W%R
MN@[[B(GOTV%W8.,D'79G.1%WT^_68??W,:P==E\[;&7SD,[GC-D_]G[Z=LW[
M$O"XCW2?1+^J\<3EI9?2*\^/?X;>IP??R1&><%J>."!XZ::=8 BM48LCDJM=
M.!&N>26[<*_JPA,)+G]9Q0/^>-.7](WX)8<D 19)Q'DD4<DD^9+[*"_S44_
MIWC?9,,X%>V+D?K N/V)SLVK['FVRF9PE566" :)Q"'A+&:KK[R%KR^]G$\"
MC!+@E'!6$9O9N/J9["9.4P5Y(@NQ?K>"MQ"WX^D=+<1=/L:@"W$;AM[70MQ>
M<H2%F)9,_@X7XMX^T9 +L<3D[W0A[N$SM5^(WTW.Z2X*7VC"9!<W!N<;#FUL
MCC3$:*<;BFR8P#[#C9JA3C*D:)1ET+!A,7)^[Q>:BHK17;G9-NZ\BCDYRR?%
MU5MJJ)-B?^/L-(+(Q\[(:2]Z/X^WXJF'.MWESC1U?:YUJG%.<J'3"S+H*O?S
MN$M<RRX\(\YG,1>G[;(*AUTM8AY[W]XT^NDZMI83/,B^WCST2;J_5K*-L^_/
M_U36Y;]#-]G#O%<OB+P3]]DV"8'!P#MPHJW2"^./?MJN]*AH=/]1%!?"SN/&
M5L:+,_]> C,X,_INHSH8T^G !J%+:LFF=TJ[7<*87)SN9<>.$S[<HQ,.;QK&
MEG'DQRI<V$",_)K%> [:G49-1P?]L,YNUJ.?[L&MY03W'^EWV/N.)=LH^8#3
M\;5HT][>Q[[K! -ZQ*P#0Z?KB(__#*-D)MZGNSY67+S\Q>_"K??^>=I[>G<2
M(JMGNMX'-$ODF XFVGY82RA?U7VK_N@C.N.^)ZGB6_LBCN,J^^6^[ODR^D5*
M]:B>=>17/M9_8CNP]S5IHSBJ!^:Q8W_%O"ROV?\<^FGRL/A\2PT/237@X#D4
M*V%D)V%$0#%\"XYJ>EGB9)=/.)8#YYTN\;@;/Z37*=WV_@"T1/@$P_*U:>DE
MTEY0/:W@^0';_>_KR:\P!.%CH*]JSL[2B7J8VFVU>?I,X^6S%QX>9!ZB(&!'
M"D#J^^-T9.($/==1T]V+E^O$P6EYQ"-$'"(JHK@6RQDB*>/(ZJX7^148)1FG
M)^N#>_\NI[JMLY^(8=ZP;3_^NW:U [QYVW;P]^I@AWXCMZMO=:7"$W'V#<\]
MD@]^*%IQ)%^[4[OIRES5*C''FRX7UF;;B;*:E1-?IZN%4J-_D\/AW^,JK9[B
M<1;IZMCO;(U6"8>X1!^66I[NFQ+]S#PGQ6;S=^!%14D2FA<]'/X]>E'U%(_C
M1:MCOS,OJA(.T8L*=@;WHBWO!N/-_'62['\?3K0H,$+SHPH.WJ,KU4[T.-ZT
M-OP[<Z@:^1!]:L'1[\*MVLY_.2N_ ^=J?UG5B2QI.R[?HY,^ZH.-G %HP^([
M<_9'S($;V03+JNQ?IX\)?^7F=Y"[[>%3MJUU_^]EQ^'/_7M?8%Q=57ZW2\GI
MK1^_CVQUUP]G2F1?%:\]D ^P7/!SRN\FI]W+C-;3W1B3>A([&YOIE"=OUSQY
M)[Z#06Y5U#]_[W$O@]G>J&_FWMFNQIF62!VS^&[L<!S*]G?]A%DYP*3MXNO
M"WN'$R)R<EW7!,=X._47]WKZ./V_O'<D8^_@!;Y>9J#F2);/BO?QRD?QB)?*
MK^5%&]7#>U'I^:.LOX<O$NWK?0PG!?8[$<>@DW]D;YBO,-Z*G%5 .+8BC_3T
MWC ?3U 99"EV^"@GM9-Q[QS7CKGW>(CK\GE&K5BQXNR='=_:BXY?Y[+GKVDX
MO4B<Q(>3.IZ-ME D<2HM$NQ?Y0+!_O&WI9]"0Z#K<.V_^.N]%TQ?_</6(@:X
M\=UF(]/@P;1 HSJ3!B[J^W" A?UU"4U^!?@A>B"UU8M?_/3Y@0;<G))G?[>,
M9F'*+.8RVGK^X:FG$P5'=,E.4*V6F='Q]<^&/SO-%!@(NCE[I:M]ZK\PN3;^
MBL;*9EPF0!Q-,[.=*Y0::G2],;%1WY#0T(]B0G.<XYHP*&./;(W<1/$6DHU\
MZ5;U 5/J05MDG.A=>_'R\)H])EK\JRV+B@9N.\87%6D$3HIO=W<T3ID'XM&E
M"/Z5CY+M>>.R[UO"^[[M822D\-/1DW!O*5__MC?S8ICDA'' ]\Y'V>(QQ'!L
M\WCQ<UOM3@G-=H]EN9LMTVQ44I1#N&[>O<]33K L:2423<*)$G5G2_*KH(Q5
M63SL?+17B?X]XC4;,H2=#F<^"Q!H79X1&L>G60B0.RT#*)I7:N3)Y'8*Y,QF
M,G0DQ]%>E.O%//GVCOV?_O7Z@8;T"W1=/FJ)[T0%QPZ.$#BWCPXDT.RF,Z\F
M>X+,KGXI+X:T7KZ0#+'/N5&(?&82N7]+7OK;#I9KA85CJ2T$RBW3 @7-$JUY
MZVYY, 01^R*W+*V[[%RDP0SIZ$S[/6/VSMM210Y%#8*7=5:Q*N=^Y=]1,K!U
M!NH1$?8O C##94DZ?'QE0D0'A*\ ];2&&@)5"8S)"4D-^DA)J$M?P<7 0-JE
MLP:!5 :J9K0HQJS^C%<2J>*C]F7#;SVD6D$K]L2ZP]7/@8A+6YX'R-$PJNR/
MW^GS, < 2+D6)9M%/J7R*U[.1,%&MU@J;!*!$MDQ7*SDAXTTG,FC-1/O)=+9
MZ\Z/.7!SMZU^Z)_@.Z&Z2>KEV<]#XJ?UBJ>:^T&J_XJ11NFL.MS+FI935D9\
M159 W% @'G_*:.N]^MO]EM!R4G;F27';#?'_ YT0F?]_@#I%R,& _-Y3[V\=
MF\<Z0?=D,WF]N"K30*?EMIHE&<*%B6?(LF&)&'="RI%/U:-UF,WKT$]]+R O
MV63LFB?![7LG\AP(O_[1-,V]#7&"=T ,4]7+30X%_=.ZCZ$58'BGY,[6:MB)
M$[_"4?.1KJ(MA3K0>.4GD '#]4!,Y&T4\I#'A;?S4R_@LB8/[- <O]#U511?
M[>%&!US?@R2=9A([T,'S)9V%EAU&:R(H7J$CES4-%G2RPX$7<&5DUKV)8GZ)
M&3"1S;@O2<MG!'D)50+_M9*ECS."=L*[O8\0PF:OG2?3%\\/P">QN>(WMOKV
MF(W#G>#^PG(*>]EK-(QU6OL.*V&&V(/4'@HMQN8FS4<_U3U)MTEM]'E>989X
M5*C_Y$B5=^ZFV8B?PS6-564067.?2]X\0QE/[HLH3A*FO^G($S?'4T1+]O3%
M>E.M4'AH"7XV%-G#6)KR:6$1#G5R&6RZH!%.YBWFA?_,Z1,^@*[D/G^;2XQ"
M@!+J^6_P>>I;EYPY*5["!5<:KA,Q;<T;\AJ"$V<_C1B:0]X!-/9I3LF.[M@F
MS+! F62&Z\Z)S5(:+WDFZQR4K"G;"JW)SO/7),I?4QGD7FT6+'Z@Z_T*%JCK
M</KT%/,'9XJ&%LR)E-<35 G^3F30[MIV%EFZ==N:!N;]VX[,-FTHRE0#\_<9
M:>@K!K]Y^0!R*SE8+J04+-I5W+[FHR1%"EKD.N3K?T%1?J "]A72K:,A#7J^
MN16I;>%VV"EIZ<5/-#TX18D%V3A-+2EAFW4GP>N6W8J, \;=@=\6]LTL%_Z2
M5TMDFSXX,,.?4SY2?5.8;??P[MSW.#>2K3,KOJU.!*/(C5Z0K9\B,M*(IX'!
M)N,HS<#=]L^VNR!ZHW1!XQ=_1=6!J:+9/Y^19!FE7B#_?A$EZ5V4_I6F#W05
M/87^?]7<Z0CCX1TZ!I]$^<PRV& H1YZ!I:E?HL_&(]F E4"R3%-ZD4:X+G:L
MJ@2D85 &DY(W9MSEN,B'KK'G\W,8%R 04R[G9\6(O%/?)D)#;-7(_@1PN@*=
ML9EXAU[0.-VCN$8E!^_+7QI$'-^)3K+0,=]#20R]5^?:9O(K\T=?X;\A]I"1
MFC@13.Z<W\RZ?\Q$_10M7@CALW@=IK$?)OYJD';:K88^P4*&#E/;2U%#BW%/
MJ\"AM6!#%#L4C:H+-N17#0HN3KLS]?$S74Y$$86%H[D<B4WRJDWL(_FQTR2]
MK#>*QS2,=[INLG$2^_2-VL%.TB$V2#.H%ZR\*OF^O%_;:56XO*@D475]#CB\
M+E>%JNL"E%Y49\9X:6:@ 4_PRI_U-/9R[Z]QM-.Z_&<ISAA[/QC<2:\WYKPJ
MW)YT&Z='M]?O Y%%SGV:)/MM+ON.0OG8SQ$\5A#XZ=N#E](B5G ;A>ES\'81
M1 F4J\7^JE:KY09+)_8<9,^?XNA7('OBY_0>?^Q5<&4)IXB5@8_8"D2R$IAD
MQU')/LDN L%I$:X";OF]J"WUDGU<2_Q*Q0+,<W]Y]E?/Q,M;-0-!XB<\9,>+
M0M.(;(+]*MU#@4Q6#>KE=<4\E?Y2" DCU2B)$RS;S\&=RS5]\<4"DC'%S"/U
MPWVT3T L-O,1E*6N2<R&XS< 8IKNXQ!*ZS@A3CMZH3$,Q%CT-SY4WQ7L>&DQ
M)G0:\YK&7_N;#8UIN!(A"5Y][;$1O8 $T9,7^^GS-JD>Q+-)WP7[I*P#G!"?
MR1Z^301SZ+77CJHS'S/K#*G=3YQG^XD,KK*?D&NT) Y)SB(I>23 9!ZBA[J/
MC$^2,4H$IZ?X6N:P'RF;LL*KK+Q@M<]>(D+.E3)C74&#F.L0;C OO5>0$=(1
MX8J)+*8OO:)KR@QXP7S]GO'P5@'6)4WZH(R8U>QO8BJIRN/)XN0?^^*[GE3,
M*1,!31BX<#15ZA-XC3D;@!0C'"(5G5"&=4)L17J,&I*&@\U8/@FK*-Y%L*RS
M=99/0LHF@?_[@Y?DFQ+D)WA+>2J"%W^>B43F.0WIQD^[>9J>Q\#S.8-,ENQ]
M>AT Q0\-($%GCV3ID*9;M@/']T=CS!QLNO:P9RP..Y)GRFH6^@^^R+5HC+^;
M*$DR*10[1!,P3L"BF?T\E*"'1#OD-[&D/'Y[W"+@#+B7RPA!2=AF.B&/@@+2
M0:^U2)]-0@PDPX]"AI!?LUGKCD,CB8*YDP#_1*?A^H8-&A0PVMNKK:DXMQMH
M$MABO=>1<&E%-_-XQ"F"$R9>N":<M 0/3[V/L5@W)D_ZF1(A:+D @W@AY6YW
MD^U:^++,9\Y)V[Z*8NH_A96=QV467H3&C^VFKYF:<[9N.P$6-M]$RB7;M^/U
M"!^0#5"#DP=Q?>/><9)RT8M8P5K"&> %78LHR%T$"0JX0OP8T.P8,GM=T20I
MWN*N1'/Y9U'L=@8<"^G]W:$GKWB>=ZB!\%[O'5:BFEE-BR--3'=1K#[ZD@_9
M3OIKR(Q1/A2@? C@/])G+_S:='*6T%?Y0?OQC7B[7? &V9<U@T]2?U4L[TD1
ME#@,$,*KX3&%?V:_?("-_M<$="_/( +):$?C(OJ:QO[C/N7E% P_E&>O8!&R
M&YE@-)_$ROTPK%>*1]8'^[6H,BK)AH7:'CZ)Q<@']VM0]ZDH$VI2*B=WKRKI
M;ZD7)&P+/PM3\50-^+!VZWX+LL[M9UM/B<7&UIJF2SO<EDSW[U[X8/P47!G.
M[0/PL;-6"DUEZ%XBTV-Z$>A]S(SQF8E]25]H$.WZ<2,ZNB?A1\R3TM&1J(FZ
M[DE,7/?O2O+1N&%)X[E^@#YZYBJ"KTMPLHKIFK=\7/]]GZ1;4S6":ZYEGC[7
M'C#L3N8D'$=%Y(Y^@M-PW2U(3/;O!3CQ4S1YTZSPWZ"29NN%8-AR;2L8?6G@
M(K:.W,IU'T,<+XOPU5+ZFJEJQ$)LZFHG4*6SJQD%I[VK#4_U6@J!5<2JP2!G
M>2 H0]47=XVS3^\F62Y1S[4A1]O/7 2[PB?(DU]X<?RVB6+1S ."7IHY:,3"
MLQ]+@63[:4!!L1\KGNJ^.\<B@$8J>.17CGG<<^D#ZMN-']+KE&YU50Q6F"[J
M74TP.]TKT!S3OP.^6NH@8!..?IPB*A-O; <44R^AUV'!]:.W^JVXO7 AXA_P
MH_+Z8$M\G 19)R'SI%<K9+1$5@<NFWK;^AE)2$+Q^JY53C6_&,?OJ C"'((F
M2&F;/J3/:4!WZM(,N;C25::,$A&D$!,KO8K<X@OW[X(NLWSD'4WK+A2844AO
M@8/C:JR%R=U+(P*:2['DS)#C+C+-O)ZL6.2JJH;D,KI*E^,1ADA4"S?@(OJ%
MH^4R?2O<C? EW5!VD%Q+-8W3<,V#+R*$0_T7V*]GQTW--JTU%;P-<D>!Y<UR
M2Q(H&^=./-85.*-2J=3EX3<1GN.1RH+6A&34D$,C_<A^+=7M%"A.)A/8'RY$
MVB-/B[0+S:KPG4L?Z(6TR!O4D5U*&.BX.R)3 #\(FF62T.T" ^M)R*_]Q;H4
M(%ALE@8<]L(;&RBK"DSR<QUC:A_ (@\ZG7/(&)3X8UB".\5&HU?J^%?J>IH@
MU1V\(TD[<6FO%QD,1P4YV%"[[9>/_$^D&%.4H%K8E0.W X>9NX-+>UDN)<G/
M] _Y"%=L!'6]0N'&$(\KP\_3I5(M!HFDYFO%9A^N81MW'U-XGE!_W; %'EKD
MU%XH*6+:C(09*;7ESNRORATWI\-]T$Y0JERG(WA!T<Z"RGNV3#R&3C+\RA$+
M-P9ZK(0V'Q"M3&4 &<OC87MQQ^GVNWJFZWU YYMK_E &F+*0XR&[,2.,,#E_
MNV"GB:<H?C.EW;N30^S4>^045/KP=J2%TV7W*&85ZI\3R1V6$_E\P0N_=@V\
MP35M?JWEU3=W(]!@8$<_C(+4XQU*<,0(AX$?G3\M4$B.0WX%+#?UZC+:>O[A
M1L@2QSG=J@ICH5T"P27]DCEJHV$"#[L6"0+3=U%8)(@$P\4E&WC#5%<>8X6*
M6(W40K1*.9(%'DX]DC5CFH+F_,YO5G6)W"*PP^;@IJ$^[CB2)[5!K$W%D9O$
M&]12N^,9KJD\I/,5&\:;GHKOCN_ ^X^]G[[=TO0Y6I=\ZC1;"XW8*=<L0*7[
MK1H4IZ.MB9=ZUHM#$P$NZ1-6E*2;%)(=>*L5#WD]>@S"U+2[<]STPDN>RP$O
MHNW65ZIV RQ.?+21^3PFJ@5$BX,V<&2(?:X8)ML<%#JR*G&10IUM90%XV=M+
M&(CAS+92/% X$4 RS/!%ADAT%/YC2>.M,F9Y (&5O% R6J8I*C\C)B04?-0;
MHK*?1.(AAYY KO0/]^%?P]OP<AG^Q/YG\0>HV-UZ[#?18<?;[J#6Z0_W'__Z
MI]N//US^ ?H.Y47>10NBC;?BAAVQO<X;]6*&#84;_-&39,(#Q>FSST!I2-;>
M&UZ5M\U$25 3 G"H"0H;CHLG- )_0ZO?V)4CU\R+P=$D]S3.'\;P5VQSS?Q,
M%%X$7F*\^]:!C@N'JY9"JT]4ED20CU&MN*RW$,WH@.[FE.#2A'A-9D(XM0DT
M(1,$":<(;]&M@CU_;G+Y)1)_S+?.3D3JE;/2%%1H0D(\@5F)4SF(&3%PSF,6
M+-4];$]*:1,-&.E UV4:[F9+<GUW,;^=D?O9 UG\-'V8H><L8A[H]@+Q%;@P
MR51J(KB,ZD\QE0\U&5)F1Q-&S7[T-"T'*9(CJ6+E47IA6WW]31#.?8 @3:8'
M32PO_4!T$Q15S;#.*1]>E<;$KUP>9M+$#/!^I.)5/H]?4W9EHSH-4W^=?:T%
M7>UC/_5I,GL%GT[74 MYP7NB\L-8?=]CMXOM9Q 7MKA]3I=Z_]O'",B;X_Y$
M,.Z<Y6%(.0[)!Q(ES])0ZNVV&UOG(^>L:9/='WD\*^Q[BF3[ZXLVBN7URWP]
MD-V7G;ES&AAAQLZ**5N)K9)8_>D_]OZ+%QP=:<9V.,K7 GJF?;*NIOX:0*^$
M3]')F+O\]^-AG&F3.-I<R:ZE_\35??'^>MD\)3L<P8"7V9/B.=N*>'YK"CB)
MKXZ"YHFQENAHB;-.?"I?&MP5E"H7$2LK7?[B/ "3! @BI<'Z$;ND0N3.1WD<
MA(N<DRI=$F(NK7>Q&[\T<DP#I.#/Q>L.J!( 8BRAQF8E#E#\BG.&/QB^?O[F
M.WD.@;R%MV1U9V1U/,5,[CT?VHPMO==?_/3Y.0H@9<+^4,84+Z275TQ"MR:%
MK.P=1:^914LZ> ;4B5&U_IZ=ZP+FDSSVSH>@@>@]!Q=0I3')_#'PG\QO^8QH
MKCU.3$+X/4R0&:YK?I%DAK_Q_081V8957R\:*3?)IIS E)T5V,K)O52^SLXW
M@O_\L]6FH_QDBD5]T-%P-M\C3&"^41]P*+1-_> RU4^@@JI86GE>2QCD'HPM
MC4A"TS2@Y(FQD5+ZAZ1FH%$Q K=5GA C^W"=GQ.R+.$N<WI>*1#2"6+\.6YT
M_OE'X.-*0=;YYC36!<QIK:@7\ML2]0-9$0:"\F98,#4KJATJXBL3+42K/#5A
M@8?SWH0U8_7Z>2E*,"G"!,E$CEWR&GN@@?WX1'<Q'^C3/O!B45Y?QG]@HP9!
MH&&CE4L(3NSC-\[Y@J]!8-_,:< ?YCMP"[-7&J_\I.P96;J@*2_+4'BIGNCB
M;*YZG91\&]4+4;0-4X_<UPL&]W!)&/9$:39*%B([V!N)/T9\+'A[50S&+PY$
M_"JQ )!/,:)L"&D#-.2<Y;1S[UB2YV5C?"+$"&16F2EQZ5IL>\1.:6HNK1I^
M1S/*/ G=:*-,TJ['A>JS"_!982I>P'[PD]],560Z8,R-C8G]ZE9&!8FT>=&S
MHMBN2, $H'LIDE(G&:,O-+X.U_LD979#XQ>VX4^4C3$:H9&2A\T"%(E"/2A>
M4K")IWI*"#"(GZ$P+R1PL+)['?G/44B.,\3%3SZ$#R7%(?L/>""1[:R;=-P.
M#>N*J+U(Y;W19AS$RZ2VS)F>__%#<8T4W.5.//\"41:V1OL%?7;\*0? MIHC
MQ"Y1B8Q;V!'Y5:!CU?@-+)YC6Z?SMR4;SM +SXCAT":J+HAQ)U6"N[&=.N3'
M9D\%&$YTPJMO#ME@QCYX1@R'M*HNB'E_7H"[H56'_-AKE1/=[^[C"%Z%KHEE
M['O7A(2G77;BR IFQD#1,1N6ZEMF@43JZH;]-'>21EL:M].P1BS,I[FM!*H^
MS6U$07J:VX(GQ=/< FL<-4OB5%(Q]J]2O=@__G;K_3V*<XX2Q09+!S2^\IC9
M!5U10XRJ&B86])HPV.ZHX>O?>5LZWU3X5>Z'&F!Q=*&1^5PEM("C:T8#)P8%
MZ6.CHXS>5)B9A^IFO29 G B-F>T\)J.&0HO"F-BI?7L.3%:Y!D0AUL6"#EP7
M>LO !U;9Y9?(3F4E0 =4ML:V4F4+*#=4]H"=)I5-OT0NJ*P=UX7*,O"A598!
M6OK9"J@+:EMG7:VX)9PCJGO(4*/R H(3ZFO)>:G @#"P"E\Q6>TT6(9T0('K
MC"OUMP1S0WT/^6G2W@V#=T%Y+?DN=!?@'0L2G[^=TW#UO/7BW]KE'P[0' H7
M:T1JR$14<-P('"N9LHD>%VAN)B8*]MIE)VIH+NF<6B2SSE5Q'-$Y%5,M=<Z)
MM,7""VCR0%]HN*=W-#7&DC6PB%<N3<Q7[E2J '$N3>HY411=<##DWCGBD0?&
M<_XXI%%']."('6X:1*@TK=' XO2A,3)3OZR6@9,2'EEWDH2FR3)*O<"L-'4X
M1&W1,5U1DT,@'/U0<Z%:A]@BM$H)1W!LFW/3T,[/A.#0UJ8FAG%3<X/:1*^)
M':LBZ1MG.MRU%T>9?'6MW*UL1_/15O *BD/&H1#%:!X2O!L&4F/(PD3XC<<,
M"[U-6P>)I'9(T89L*[&EA$#C"?HTT#-"XF[909)4=6%1!X@39#2SG<<8U5!H
M(483.X9+?P?Z@!1G[,+\?$.J 4?,6W0=9W_5R/K(O=47PA>()S;Y>[+%+8'S
MM^Q'NP;J+2BYT"6]M>#J5NC69)#[G;?DT]C4/ ,G!3$B4>.OK^0033?RQMEG
MNCX+XYA\_OSX^3YAV^PDR;A3E0U:XB":L8TP%8,U(>"89C-'=?7+0)S(>V3,
M&),<!S"("J-BMJ(@,@".0M0Y,"C 8"6%2QI0:(*R#_V5.%XSMQ9[XI+9/J:-
M5T/;$D!J.M))S**[2"MLO#8B'=A4/%)Z2 2NDDI4L.^)#B5EE<J0ERL;"KWA
MCF<4^&O.%X^/:4K]=8 X)=YFMO/Z;C74Z,7=)C94,:,26,12T6X!U!G77@+0
M@[JB(.HK #HX!Y2DJ8R@KB9.5 _,=Q0BBN%3OJ$PIOFTT'C[N08!Y)V=!A1E
MCV?DI:8_!30I]WVX?0OZD@,[8Q.S(SL[?MU!OP7.D?DNIAX>,U?3($0U4:,!
M1LK2&+FIZP]T"'/BL*L*'-TTY,'M4-&/QE:B*4[,1CS,@[0%8[KSM3JFYU+J
M?"@9<:TL3ZK4EA?-+!C@\>RI40C9B+3 *);3P(TAK]5BB1_'0-J*4@J09<>=
M6&]FKSL:KGV(/TS7['^9A2ZCFRA\NO%?Z%J4D9D]A!T%]-6GC:"*1<@&'7,M
MLN=/YZXG1*(Q(3D5:-\&=,XX(5$GB&UZQ\M\'T?0H>YM0G;L[REO$PN/DN[$
M6PL9->13Q'7XPKB)XK<'[\LMV\Q".S:=,6I@\<S.R+QL8$I %%,R<*)HD)?!
M3@B#)@7XA'R*HP3;0-I( NQO<QCBYYC8/;,H-,SG%I[0BWT<4^T[NQI8S Y9
M!N:KC;$4@$C]L+2<*'PGAR49\(1DX,@ZWT4$*H"1_3R//HCEZM9/5C1@O-)H
MGYC5OA$+,79J)U EAFI&P8FEVO"DCB5E^Z0)J2"Z8BI'"-9_.<!TM8KW=,UV
M9'^GT)$O236*WP2,D^9O9C]/Z>LAT=+W32S5$TY>'+_!&?;%"_:4> E_Y>,9
MGN=@<"M*DF=*4[)F^PGXI7SC#'86*R"]AM89T?[IF?VOET%Z_'V<-ZAAX^]T
M[00_"5D!1]^0S]F[(?]_>5>7VS8,@]]W"CZV0,]0("V2(8#J!&UZ ,>146.*
MU<GV-M]^I&RO7C+)BMN" O82)((^F5_,G] A)50BA>/V@EDG)]A'3-U9Z#2L
MBG1?J.[@]*L#BDA'KA4E[8\$K4P-5:?W0S2]I,=2"O2?W#QK,Q2BR$%A'B'-
M-5/%P<4WI@= CP +X?8W[V+2*T&G ^R=KB32\OBJ="OEG2QE7KC<5"B(M>LU
M@,Y)[ZL'P=4!.RF24[<&% PP;DOY$%:?>\1K?Q5!AY^+-R\[&:N= -9X/4'C
M)&8[9G/';:]83+%;D4SC,/P?A^_+[L]@QA8%(QBW<YK-2)SJ0@QY=D]DRH.%
M@KBS["DZYTFV"\&88_M%<J78@[W$8RGO9\5K(<]E4S6IVABJ3);?&Q26_NCW
MM>?Y(7S6$4)E;!N^^2R6,2W0F0;U$ J2;R!;3G)#8W>Z?HFC5<S!S=,HYD5$
MIV6N)C'/])ATS%.8'J1B$?2..9AY>\DF,-%IF;O7S N(2=.\U>U!NO9I;6HK
MDS;4B5O6JJ7CT#)YV*:MLY0W#,*3\X92&;+>J?EL>6^88*%G%!JINJP1<]-\
MM+(]KA"7!MW4>]U@@ONS,!)JDY953GL_:TP^"T-YKZE;L+LNZ..KDK\@,\6Q
M*%%GJ^Q%'KDVB)[Y-8UAT..@!T;IS<5$8?0T+#J??D8IP*T+UF+H,*'F.7<1
M33GT3)9/S]NM6#XLD]U"P&J=+)+[-;Y[VBUV=A36R6KS^+#8K3=)E":6R/HK
MQE>AJPN-["]@=&;V#UH!AC9"Q61J9V+-,;8;P&7@BA:Z!L%?PC:;J]WT$M(C
M;7A*H=E&=E (Z)Y5&YW+JL+XC[-R*?%70*9_2",/IX3'G]'.O]U^&4;P99]6
M\O8W4$L#!!0    ( )6"AE?33 #>?$T  &][!0 4    86=X+3(P,C,Q,#,Q
M7W!R92YX;6SM?5MSXSB2[OM&G/^@4^?A[$9L=?E6%W?L[(8LRV[%R))&DJMG
MSDL%34(RNRE2PXO+FE]_ %XD4B1 @ 0(D%+L;%>5#8#(S"\30"(S\5__\[ZQ
M>F_ ]4S'_LN'RU\N/O2 K3N&::__\B'P5Q^_??B?__Y?__9?__OCQ[_?S<<]
MP]&##;#]GNX"S0=&[Z?IO_:6SG:KV;TGX+JF9?7N7--8@U[O\N*7FU\N?KF\
M[GW\^-_A&'>:!_LX=B\<[.J7R^07@W@XQ_ZU=WGUZ<NGJXNKZ][MKQ=7OW[^
MVIL])>V>X-169EE#R[3__!7]YP5^KP=)M+U?WSWS+Q]>?7_[ZZ=//W_^_.7G
M]2^.NX;=+RX__?UIO-!?P4;[:-J>K]DZ^-"#[7_UPA^.'5WS0_ZDNK^_N%8R
MP/6G_;>P+="_/B;-/J(??;R\^GA]^<N[9WR(ID@Q_H>$&/2#(G(N;V]O/X6_
M39KF6I:,#']K$MKO&?3?_];K18QV'0O,P:H7?O97?[<%?_G@F9NMA08-?_;J
M@M5?/FCK]X](6I<7$=G_YSX&4_)GWS:&MF_ZNY&]<MQ-R/0//33\\WR4F9/F
MKC7;M/5?=&?S"37X1#?6)PZS7O@0J>@3 \<V@ T!#?_B.99I( 3O?^M-5T/-
MA9-<>[0T5!E9/$5WFH4$OG@%P.=$RM&0#=,PTUS8[A7XIJY9 @@Z&K]9S"U\
M1__SU;$,:-.'_PR@ O!'7]$WFJ5RH'FO#Y;S4X!JI8;F0=.]Z>F6XP4NN >>
M[II;9(BFJ[O ,VW@>=!,P371A-^=N<"#,V S>M4&YTO7'+P!.P#>@^ML(%-]
M5]-][W>X+1@$GN]L($;8R:$9DR\52.SH_Q&>WS0+80&R;V2_ <\/D<%.!,60
M?&GHZ[H3P''G0 ?PBR^H*^NDB\;@.\L1Q*&]-N'(?<]C6%)((_"=X8-I0VL.
MU]>^Z\(/@8KRQPS#&;?.9F-61FBZ,]]YC<%:LY#J0OKAB<($%:97- ;?688K
M67@H@:S8PG6AHOG%C<-;<^"GP5)[K\+,3&>^\YH /QI]!MS%*]S]L,^N8 C^
M]OW>?#/AXF\@,[R$!T[X\UTHN6JVG3 <Y[G'BQY4!1V@Q1"!JXJZ8\;AK%-@
MC2S*'&P=%VEN!6W*C<!YAL$6-D>?T*S82&O6?@]8Y?!996AIN\L9W/96,\B5
M/B*-SB7:O8BE,OE$TSOJJJ31C]SP[KHJ0=0#B]W#5IT^;AQA>\3*?,X/T<1.
MK.ITR:,)VY55AT%N",$[M*HSQ0XD=@]1&0>8<23M)RJ3P?H!:6ON?G8CV_/=
M(/*IV7.@!ZX+^1_VN >^9EIB%V:F>32]>E=F ,/03=,T!QO-1'<2SZ&Q]= E
M';01(3+A:6/Z8IGKZ+PAD/H*DVA<]J:GK=<NB.8Q724]1&*B[),-[_4JDTH_
M<L,4]=_@9Y'I?7#<!6RP0';&],T:8N7QS8:YT(B(Q4L[[P&O3 UA*+'G$;3K
M=>SH0NOX=Y6IJ?01L73V#<-$1@VM\_M-$#<"R:.+I0QN8$P?C,TW8!Q^]1#X
M"%4;M)G]5S@;%+9B!#4@RNN[#=S 5*:1/)JPL_88P -H#5.('4G8C",Y/T$(
M;()-^-&9MJMIT)E&%T;9[QH2?;T5F3A:$]Z01;#9:.YNNNKKOOEF^KMGVT#>
M_,U6LW>+L,\T/!W-+*W&/IOKQQOER^ 5J??(G@2;%^!.5Q/'_@YW"\"(9N8M
MG5G@ZJ^P?^B[0-$>4*AP #2L*'[QF904/L[A/%U3#R-D8(=GN#0(@Q75-YO@
M M\]195O"/-/[O\Z?$=3@2/K#EP8+;/NOHGU"\(HG !_N@7H9M->CQW/&T!+
MO7O1:F@WT^#"Z(): 31H)>!AZ!X>WRUGBQ8B^*N!"XPZ6EGE&\*H7#B6Y@YM
MX*YW,]?Y ^CAZ2_M_4RB\_AL]SE]6+"OOC*!^)$$SYBO"64<OL&XD5INCO)1
MFX@BJ4X">3BQ]T'5EV/<0))NA*;^*V1AX**(\9KN&1[?E,2%OJZ[ 3#B/4,#
M+,!]4!;]?+><?#Y;@1=H@AZ<89@RY ']E[7S]@GH1IBDA?X2<BKDTLCVH/5S
MEZYFE ;:YH8+"2:-D)K[-G4K.(8_B">,AN"24I3F"7CWH4$'QOZGIH^^<G%Q
M<7O1^]A+!DK_5;.-7C1J+STLFG]"@>7HF:]8*!_-<4M@"'_P@S3S_HL7WA4E
MPUC:"[#"<2B[?6*>8R$\#&!&\(!_.< #_F,_C24<\6B6Q[_^\>7ZV_77F]MK
M^)_/5Y#;EY^/)IB&0=_-3A9N>I/QX5]SR,@FP,4M/FW#+)^/^JMI[>6]<IT-
M"POC23B4!#DNQ/M?/EQ^Z 4>G**SC93W0P\2MP+0GAOCB#W8R8<S]X'K@;!E
M@T+\6Z"Y\,/6+EIZ"?(\:MDIT=+0%DOY*B?EQF0%]]FF XDS[N&:09!4IEVG
MY%1.62REZS;J(EPRX=J))ERJC,=-.R5E*N)B0=\TKXX1/0^F!2+7<8&8CIMT
M0CQ41,5B^2Q++'.P-M'T;7^B;8J,9%&S#HF'@K!81%_:9"(3+NB."RU"=$.!
M3DX#%,?A[@:.@9<UL5>60Y>00[=M%3T[G3$2OLI2UJ7V/C(@K>;*C$IYE!A4
M3/L.R9"%PEAZWV1)KV\8+@KTC?Z 9WAPB95<0=L.28V6NEABMY(E-H!_G;I+
MYZ==)J]#R^Y)JX2VY%!_(5E8H2&?NC/7>3.C DA$B1TU[Y[8: A,9)?WR#0K
MNYGC^9KU_\PM<7]2U+A[<BLG+Y&:! \+L@5]%V@8.:5_W0G)E!*4R"+O1Q$N
M"U36S9J].C;^>'W<I!,RH2(JD8L$MT><R+"[O'I9HON3 KD<-^F$7*B(2N0B
MP>\17[0M=IL7QRH02N;WG9!(.46)./(^CL;49/BNAY&3&#=44;-."(>:L$1&
MTKP/<:C%/N8$[2P##[M-*VZ>)>VJS:Y#!@(3V4GS/8QL'R!*S#=PK_E:/'6"
M"["H>8=DQT!@(CMI7@AT@^ .X"EN[;@[XN7)OE6')%5.5W+1G/<\*.^@7VPT
MRTHJ &!%FVG5(=&6TY6(5IIC8K@![AK:]D?7^>F_QEE"6$$5MNZ0P.CI2P0G
MP3<18^L56%:9O-*-.B2F4K(2Z4CP5L1;IT-F6)PL%OBH'KL15LG#;2@)G3HD
M/68R$VGF?1S*KW\#@"+NK9%M@/>_ KRB'K7KDK0I*$L$G'>6*"S@A"4/IJ=K
MUC^ YC[ GQ1M<C M.R%D%MH2,;<JT"0^.1WHPX=;XIIV0M!,Q"62SKMR%)9T
M%LI19"F=2J?:9MEQ#=GQM7VR9J,N$7;>]Z.PL/N0/B.DT=**=F29WW="J.44
M)8+,.X)J"O*_/N68-(8_X)'[4^4IGK1PL)E EQ<H$V@_ /S[8#JY'TX6PWOT
MM\5T/+KO+^$_%DOXQ]-PLESTI@^]87\^&4T>%^R)01D KS3O)>1JX'U<:]HV
M3LRR?"_YR0'.\0]^1+FW^QEC\H9*6]=4O2HSCPO=I2OCI0OC#=]U*PASQSP/
MP/\92^T=0U6%D912;DI9(IWF33*GI*4WX+XXO.QX%3 -',_?UT[$P"33INT
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
M9KEV<WMQ>[PU4,=TL0H?OTXR\J.3Q7(27DQ7115B2@!5W.DTP<3 "\&WZ)*
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
M,'IXM77B^,!C?@VWL)>22!*.A3S\JK!)O?<)6O N[NE"K#JSNO$ <P-7XXJ
MB^<VK K]G*XUN%Z-U[=3&6TY=E\O@;O!&:G2CEDF?E,#1%4$7V!TJA&OWF6[
M8/SL[Q&C>Z+^"O[9MRSG)ZI, -L<0I\&@8M$5PELS%\Y663RX91Z 0"JP7B?
MS)O:X,Q00$58AL,'MF?"T<>FUQ#@Z>>CI&HT 6KAJE13!GP/VK+U+8R'12\G
MN> 54?X&H@B39QN>%RT4__J;8Z%LKD=X$D!,G-HI4;BF!W]U'[A1J1O3,>[
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
MLE]\AH:_&D 23-]C7?VO2U;_Y'L]S39ZJ2^&(33Q-T][%R#*1W"0:2(#-N=
MOG\7;$$]8M7=+:1OSWWM_24ZPGAFO$&"<@DLM%@BYKDQB5 EC8-&PEYZR(*2
MJ(.:H[<91$VP0HF]"NYDDJC.*K -M(;.7+#5S/3"6GPB*>_7=EA4)[(K.XN%
M8VGNT ;N>C=SG3^ [B,F+(+MU@I#GC5KH'FO#Y;S<V2'+VQ5B<^]*=ENA)/H
M1;/H)=/HP7GTTA/IH9GTT%1ZJ;F<MR'U$GSVM;]'83HM8G4TQSG8.BY*KPVO
MI[V[W4#SP=IQ=V&I;USZ3L7ALCKV&>K816L,B1#:E7V7.Z(HC-="!** K5 D
M^ ?+"#V4%#M7.>+VLO3L:!L2B(^9$?LHB096<5$+G$"S\*=-&*0<.EPFCNTD
MCKN(G'U0">&%6YJN;9(Y06)YJ5<F7B7A5S"%X[(W5&H,J218!"\7W/E%\5*<
MG/5D^,\ ?OT)^*^.<: 5AR-,ZZY A"S#/$Q8V"'T01%^14#1<>] RL#9;,Q"
M1!#;GAH>V)FAWA,;&#_6'M1+X&X*/5:9%J<H>1H6"'UQ0DZ!N)0_:Z:9N/J&
M1ZU.#1\L;*!X?%1.8:9H\BAVX 'RC6W'0-7WM%%1A3E"'TNX:=(M/@$Q5V?
M#0M]L/FY+_-U*";#9>+KG@WGO<5O_?E0JL-ZJ+F0^K674%CBK<8UAT#X?/OM
M^O;V^O+ZZN;FR\WE-RGF8"\Q!%P,#9DV601_@0C^+%^]F;B<5]UR NMN^/=9
MU[Z\.*K? 7HO#EJZ-^!J:Y"M+)XJU':G>::.@0+3&%V$2GT&*%*2@<=&PDTN
M.*,G-*(2];[OFB^!CQPT2R=?[2GU$BY^EU%SX"X"3Q!71-W"*V':[DTK0.\%
M'2LGFW'#C=)%E/%@ :_B$G*SAXX925H5"]MV$1[TA HXTR@ @E@/*&$0MSX%
M()!(Y52"H6##(^=,VS<,,R*A<D#793Y[K/"@^[%W^%C/5"1DB],)6(I"]VW?
M-!!6S3>P 'K@0N8";_BN6P&4$W+<H+HB0828Z2HW]Z)J+US';I6Q*+(,XK@@
MKM1B(W8$W2GM'QCLV\82Q4T'[BYZ>9#)?%SE_62#_N*WWOWH^^A^.+E?]/J3
M^]YR/NPOGN?_Z"V6T\%?ZY@,[.5B0L\Q.1B30-OMAXAW$ \YDX/\BX\)_ HF
MS#A"%KI?Y9:08&%X]AZ,!]5*9(W4+R-0\#[HP;VM6_ /W(:0IFL'\%*;7"5R
M/^J'>B'"YV ;H,P7+_LJ,?%EWO*.'0))16(Y^:FD>TU)Y!/?MRGK=R(0P=/*
MR>TD'R%("<+G#'!0V#?HDLS)1'7#G139-Q0S$K[O^_Z[Z;^^.A;RI,(?L+]V
MRSA4U^#"@WPEZH.6/*R3O\N)W?.AOB0[K.02,F0%L/*,F;Y8YKH(4X*_U@'8
MR>!0-VJ(DLX$2 Z$:$.:KAW 5FUR.=7\%&#",M0O@.]'B<A0,] /HG?1]J]F
M)J5I#GH6/4M;8*RXC-L!Z(CE!:<:H'(2] >!YSL;X X<&_FQW' PQBH_UP5N
MUN?%<OHTG/<&T\E@.%G.^\O1=+*0>A\S-[T_D62?(:5AV3?D<"^YE"GI(V6A
M2 D*38^4)%_<6"F-9I).=AV@IHTBL9ECD+GG^BE!PG\=A C_\6/F.JB\\-2-
MWQPOR&?'-5-2< QR. B1B<)F\]+IQ!?6+HGF[17FH1/;9LG\!LD\3F=I4)!,
MLB@4(26!'/.-B^^PG)_ '=D&7-+@.A_/IS!OO*2UJN*AY//1#14CG:*E%$_%
M1/&9-OP+*K4.]_-EXJ+IUBFY52:X&[=$N67E;K>$GR-4?R'T4 H8M1;.JL0J
MFXN?YP+\&+&R"Z%'.^1<(BJ:K2Z98I4*>\0F,$<"L9X+N5,[I%PBH[R4*Q"M
MDJ +/0FEDB[IU5%15Z$::\$;.O@\:7\X;C)Q#W-JS3=JB00ISZR4]!&B,)H_
ML4ZT#9BN,C/'GEBQ;942(X,DLN)C(T_T22@SCZE=7.(,WU YD;!Q-WO:82"Q
M4;$L?SIT8MDW[*Y8R"1R7)\HQ (;4NI+JFF'15-")'9!$B&<!R=PZ61S:-E=
MT930B W'4^$L?K>[ [;^NM'</]D<+YEN6;IO6[P%K$4Q1:DC15PP>UK8_#!'
MW=HA=AK)T0" @G:53NL+S4*/_;P!.T"9F\0S>F';EDB70BQYZ=(3K))(^[H>
MEN8Z/%A%E"JN>9<%RT2S<(<+BVP]#_C>$I5Z( OUN%VGI4E%+,>M+_^5=EQ2
MPQK?H1V"K;6I(M/:2#5 R? X9)=>T@(DU:4=$"%+F0(F910+R8>ON6<O/$0G
M582RKLV",W1QPVZ)FY%.H;6E$Q$W$I&[ &L4F!S56S7M-5LL[DT^%G<Q?'P:
M3I:]^7 VG2]'DT>I4;C'Y)4$X.*:0Q!\N;K^<OGUXLNWFZ^?OT$12GZWXGBF
MJ:(W=[OXEW0/6E&/E-&$;Q=J:#R3Q K.7IS8(/3I 3E^FOTS,7>!!ZVHY\5,
M*+J,I>JC)GXX :  6LR\4/9%K'CF1/]<IHV:HF862(%02ZEL9]BQ,C(JY6]V
MS\9*7U?"C=LJK\J$*A%F7)Q."2P -]:;P#:CY]0\N'*X6D1<N,,N$3[; )V
M 0>2A3O:2N*<$'X=RS3"Z8='3$R06G%#-<7(?3/$R(!FX\:9)8P-9,,U54K*
MC+(H$V(S>Z#Z[WPF[U0FNSWRTY[%K5L@1RK;6X7,KM0+=*$I@P> "=INA$23
M(\5Q[;L&!39"5;JE)*Q1X[+'6BFZ*B7H!MP555DB]-T].?Z.Y"8@9R8Q<,*V
M5Q-#526=!PT;X4*=I'+N4..PG:B MAUZGE$MJ>3V*"JPC=S2G@?@_XRE]H[!
M4(61LDR^[!RZ>+&DKN\@]TR8;-0-',^?KF+V8#<PJ39=1THYL1U\'?;1=3QO
MYCHK$W>=F6K1=024D<KK^2.%=BD+8,'AUH_ AHNOU;>-OK$Q;=,+PQ_>P/ =
MU=C$WO]2=>XZ:FIP06A F!Q [7=QI6^/%K3L.E1H21;RKI+LI28L3SAQ;"?+
M!+*)(7?J/%[8J1=06U8V<++/;Z-=O&D'J,INQ!7']NX 9#%(/=X^?(?6%[+"
MM#5W%W(<<E%'^W\G--8C&Q((/-R>1^ 7NP[9IEG'J42N6J9RSYQ8T^_@W@*_
M0\>T/@VDT9'-J> M#B6WLNH407H).ZQ#@ZYCH832Q&EX(615_"(GOVJ#N/:O
MD%W3%;21FKTV7RP0I1AA$$'NU'645* ^08X8?[,<NW$/X-QU,V0#!B?I)EF^
M7'4.%:6T)A@0FZDAY=XS7#H-$X5+)<_1+IVQ8Z_'YALPB*:$882N(Z@N*Q*
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
MJR+-=-*M=7IXAL4&XSX8#)-*1U(B%;G#\/1S*G+L6(2\G.0*2[K+=;W,,,>
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
MCOY>LG^%_#M1@^N8O9/1N8Z<T:L<EIL,.UQ%1W+AO3@FW&9_9<]]::O'.)E
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
MV@3%(EZUI E:CFB-TQJ%TNU2Z"(4OR;Z-.>>5.8%UGU><5_E^7KAZWU,OQ.
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
M";YL:NIR-9^FT@4NGPMMJC<*P.Y&[[]G #;JSO/XN-Z8<$RMT2FY6C/!&U$
M%@5@X=T#NC-/G"=WB8'=SSO%MX&DNEE!5/7G6]^@C"Q]IIK*89OM#!Y)))!J
MAQIR4]==:#.[T^Z7PNM CLC<K_9^A<YK3IGA?^29B+W?]/JYH@MODBR7*@4Z
M/AO8'-,93LD6#CJ5:>@6$.Y@DV1X<BZOA[H7UI^II!.-4M.;(*7\C.L4.I1&
MA._TX'O3GS"$C,\!2 (J7P:*H+,!%;MHD7)U 7XBPN!F#$37\4]X$,QE6354
M%TC;*<UK\69)U6W+<C<=;)[(9SBVB98:**M28,I-G>&$14(7U4&F_'K&E'5
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
M_.='H9H]41\:$!?8="L88>U)$_=RS35SD)P5!QT&B2^SW31O)BV^U_#/$GC
ML>1#BB2W"+#EP^^M:J]U,@/$]<6FFR.OKUIM$GX]O-9M8Z<N%#O7:[Z:^KKW
MR\7>F\.[C\6#.QOE]LP]"!.;)8)+#!DY:1?GT'"2^/>?:_7__9^#DZ,$45-L
MRS.E9WNM]NYWW+P/"RQ< ?'UP52"# ?^2]#GPM+9GB&(/B+D-O#]M3-7W+?R
MX%;)V-./_]Z=177F594H\H@GGM]5N?WP@I=5_MBM<J$2EI)2B,3+F)3B"3*%
M\&DTC?(R3B:)!$K@0Q'?K#.%8H/H87*):N:HZD.L4&4>@RON6AS=*F0*5+,0
MNIOZ#@?.U*H9MMIB,S'X4ZM6+F2HW1V#%;;:;OD'.K-4LUJHYEH!(:_U%FI2
M_RJ8,/ZU/ >&,,Y##,ZR +2/B7^]LQ^.^$&P\/<M"8CY_T^M_WV3&,X4/$EU
M@?3W$],WID0@ !_B*8Q/)602_H8"/B62@"?%!"D":&1)L+W]8;>X6[%8EAQB
M\I03RGULG*+2ZK*@G%H&;LPQ):T7Y9RFYMM3L63-"EK%7UI./6^9Y:5YLTIG
M6*0T)5:%DI)KUMG&WC&83V^OUOLC"^T;B,"UY%(_1:9&@I]'.>JSPK>4"D>V
M:*0UGHWF$Z2.C/ &CQ_WJ5 6W^#4Q)2KM3)S8US'T[F6 ELFGK<DVWFQ(.*)
M.$N6\FHGGI)6\9S?\NCMU0+?T5Q3(I#:C,K3:CO;JLASV!(]8B@9Q[DD@5 H
M:W1*K7*/3'/\>,X3QROPJ"K-R8'3H3D5Z<ZF>8*>CX "6QZ1-!DZX[DHMB<<
M,\7+HC+*KZ@2!5L>D912&WRQ@2H :8$%$&6&9GH]_^W'0J)+6;E?'U:U^#)>
MF2U*%(H-&K#E,4E37F4'7KI09J>KWEQ4*!6^F^(3QR2-DFZU.&^X! N01GQ9
MQD?-59;BR>.6W*(\K=.]/L^65,L1DJC4Q+P&GSQNB3,3H:FWZ9Y6*JVPIHDU
MREQ7X5/'+0M9ARM;*\QFIU.B!=)9K39F*#Y]W)(HC5I<P9A"C>K(XP76S'O
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
M7,FH3(Q\0/!K>; '(@*$"! B0+B_S-"' 0%/E>;$<-;B-2Q?-ZK]67/>3?N
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
M0T0FS3;E]?CP"W?G;\8&>3$9RFC4I>$$PY=-TD$6.F]^^1O^BER[4?_A![7
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
MGOXL .8$>H;ZBZTF&^HF8K/))3MUK&!T;IP1)%8GB6>DX0" >:,@6164[#4
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
MS*^=;+AD(K1EB-8S"%E-S&8N7U=LX8.7F6EK&#-D%%H9,ZM+HWA4C%KBU^9
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
M$/8KF)$/O<V.22.,+C/I>IJ3Y)LR\L.< 6P<A]8Z*5KI3'W!]Q[<H=Y;I-^
M!OL&-&(W::>'I=KGC7F'5[NM?3SR3*5H](;6,0H'&/.6&$-50A,!QE008_ZI
M8L^S*KO>79S]#F^8R6;A1!OJ +N)3W0<?[!+>N/JX<U((=1YU/(#63SMSZ2T
MG8V#!JL4W2(1,D,<%%@U '$ XE0!<>Y3=N\O9.Z@9M\Z62&=+$49LE>8.C7'
M+5-C*P@U;=IGX'0<P]QYCC%3V1L1O1QJ\N::*$+689@!6 .PYE-@30XN_ZH4
MNMPG@1?Z?W&@[@#FT"-L;VB>/-LZT/[<"G#NT*R +9/Q-?OH*TBCJ';O1&PF
M*4PNUI"TTH;N,<FC-7E;6B8W:LI \Y\ :5ZQ$!VKA#Z^.-)<WL2NP,IN"FD>
MO"!2/"#R7<E!A@6^:]PAS\Y!&TA@\GT;8B.VY6VG DI7(&KS4^3I& AKDFK0
MAM6=JP7P,CBN\'&./-27O[$ZAB, >-X2>. *WC"]!/!<GD"IP,I^S9W*=QA!
M7^)V[7(+#R3^,QGUU5A9I0((J0-MA'W<T_F3+V\6#;2-$H,*F.8_GHO+;L*X
ME'9LV*[1$T*MY:$TF?O^*);Y_C11AS'R$=^_<M5%3\N\8,0UJ[!E;B%K[<WS
M(JJMM2]Y3E4ZW_ -[^H_-P]>_=U9(/45V_&*OS0'I!Y(/9#Z3ROU+^R7-)-0
MS<=1:.7.,YGZ"@*_[$5GNN:XU4@Z'.TYIXA'G3\&YLG\;6=G%/H;*\Z+2ZXX
M+&IXI+")T.[)G#ZE1S!Q@GR:58CBLI*HX^0K)F)];NT!"'(;" +.S9>_(_O<
M/'BJPRR0^H^VXQ5_WOYCO&9?,:FO=/4DL'#>SL*IO-2_L8\D1D&""(N%8AO)
MB-(;IXDR('__+N=1]X9()V8OPD=M6>V/>&4Y\IO-<YJY-_E]S%/NS<<H?6WY
M8?9/7DU+PM#PM%,M#E4O<HHMJCD9VT!>QBN_\?;^ O&^MA^0BPH4==X 6VXA
MGQFHR^=(]KD!M@!U >H"U 6H"U 7H"Y 78"Z?-PBIQM@RV>MD'K9A(CG5TPU
MA_BVT>O3A*RN]_ N%N/],OK](.+//NTN>,;=Q<ZF>>CLPCC6TZ?_!-+:JN7E
M(<B&D7VD,3$T1XTB:Y,)T#VM>GRLGDKPN7F@FK.)?%(EW1NMZ*1EF@I9U%/1
M- JJJ3YV-=4-L 648H%2+& _?Z@ZKO<P"%[X]N^]#^Z^%#/L:78D8;2W.BG!
MTA>73IH=W/D%XQ,']XU6>R5>:&33.QMZ<7V8#9Y)C7I0+2<OEH,R/D)1QJ5:
M9&A):,66\7(WC)\>4CY0WECL!Y][NQ]E *@E^VC9P4#>GY!WD"L&Y/TC;3>0
M=R#O0-Z!O -Y_YC;_00#0)U3Y>J<P 78+\?1\M@8>Q_;:?FAI#J&]"VPP^J[
M)(KS50E&+&Z>B)4% QF;TE;#A(VMMG Z1];H;5B%*BZY<)3ZK4LN $./,P 4
MGGVLPK.G3IT/7W7VZ<W,1QE0N7JS#WS']))G(S*&)'DV&<]D<9%J:DM;]PEE
MG)V-^3W2$V?CQZA3*]YDS+;9#3(>7ZK3C&/^_<L]+ @NJ4&!&I +4* &<J*!
MNH 4** NU]6EV@&B1[OQT?:\W4*#= 2CO6/4F276^CS]_3X2_YBPT=3_R2<7
M7877:F3HW /3;6)DBX@RN9",\&!IQBC;)U^?&)IO>L4H,]5)C&MV\"%09DQ
M*[9K<]/S9M(_S,9FQKN\3U\=86C0.0O &H U8 543RZ N@!U >H""@D_?B$A
M4)?W4!=0E0:JTD!5&C#&/GI5VON'9%[X_O =PBC!(<),W;3.LKB?DPOSZ/C+
M>1Y&R:\3GXJCW&!=VN7RT _NK@V-4+/RPK1,+FIYI[;0TF(C7TQ.E0M/+3+B
MV"G";5&]YAEQS=_4HGP/HEIJQ=NMX>CY!G\;JQ9D8QC%@,6_^TZ^PEJL'F^C
MO TT/OL=0+E(A-*6&_WFJ9.<89%IX)N]V^>X\_@UP[R7ON2%5-^%=M7.AI*[
MI\9<GB?-=9LS&)/O?-<4I"NT?K4%8C>*$D//IIXW/BRPI<"AJ/C:^!&-ON$,
M_ UGIIX_2K?[>&E#JA -&NMITY)9A5'0+W^C2)W"RXD+MZ M-W"2@P+!CY90
M#Z0>/"E_DU)_ VGU;WEK^I.3M3#5?WJP_C0QL*':IZ9Q7LYX*>C.5H-QOVFL
MQMD)2W_Y&R-_+V<>( U FIM$&G"^ JD'4E_U'*5I:*A1$IZ*@_#BR=X[L<L%
MX;6<J,GW+0W#_=$Y5'J_'UC[K9/VQP.6$@?]%A-*!BSU6LBDS36@EIN[L C^
MY6_B2N8]@!K0"?"C5LB" Q9T @0%F: 3(# K02? F[MG?1%SD/.D_>AT3$A9
M;?3"9HB&Y"A,\QN-_.:4A#]\O\"+P7YW5QH:01)JVXQOH$W@IZ["_)48[T>_
M-9U\4XHK5Z=7+DD'4WC39IW%FE>;/<S?'Q+>B\;Y,M&\MKM.$AAXWQ\4M[X_
M"H$\?2 7(),2J M0%Z N0%V N@!U >IRRVD_;WL1^1.W\&<I^NU1OV4HD*SQ
M)ZGIMV#%C ."S1>;7SPB=0IE@%<(RE$K<4-9;2 "Y_9[W6,"MH!R5%"."LS<
MCUR.^AYF[FM<C/ZB>3H?KC5"PV-$ECC1'2S,];I%7RXML&>8IS=80\JIT;:F
M6P<K$W8=%'5>O:/T0]T(H0OQ7TAPK$6^8^FU?X.+_ZJDMB"3[6VNT=Y/(FZ
M1W=A'* U0&N^-P2!U@"M 5H#M.8S:TWU[P\F1JQF"])Y-?0R3D5WEP?IFN-6
M(^EPM.><(AYU_AB8)_.WO;/FO<OQ('TM]T6N.&7;'8]BJM2F8>X0T0;$-!=3
MV500)/O?E[^Q.D.#@F" 00"#P,E=%8FXNU8#6O/T'1O0&J UW]^N :UY^JH-
M: VH,@06VJ_>N-V.UGR Z[=?</"P(0-MR0;1LT78@9(SB8\MM7#P\ENW)QV\
MY]^Z_4P^*EJ4^#_K[SXCO="M?4?/_K&A.JJG&5&])FJQGWGHEULO#*E?OLGW
M]'_^:_UR#W=4C3LO?<M77M[W@(%E@*'[R=HQJH@8;_+<*QLIXN8E*Q5CW.II
M@L=/9,M='9J-0;#9PW]2J5BL14SB*%]=MA]7"A-G0<#,ABV3@;EN'Y4HV%KM
M&V,%0?/"1 2K8QCZND^X@H28Y]8F5DX!OV/;O[]FRGOEEOZN;RJ\ _#\>JY1
M_CRZ$4:7F70]S4GR71GY8<X!-HY#:YW$>=?LJ2_X7KZ\T'<R/IO=;*'Y@^U7
M3"/[--"1-;7T^';C=((\?ZC/SVP.5L27O]$Z1N$ I]X_G[%RR@IPZB9QZO$7
M>]7V>HNL9X1L[R->Z^,IGYC$'[[8^QJ89>F$A%.XS<EJ;S9MZ_,PI)IICEEY
M.U,2JR,$0"V 6@"U/@AJ_21A@+!:,][KV4>X?4[\C9@0/L6PU8,K O=FMNXM
M#CPW4TTS-F8=@RA,K#R] $6H.DZ3 *\ 7@&\>K?8]1\BU,]+HL?;:=0<#8@8
MEN;3=O=XHCLQ60$_\*>=$49\_]P_JNS:AKK9B$LU@8Z"6: 5_N5O!JL3& (J
MJ"M005TYE7UQM/IIE73EEGY;:,5J6N(F3D:JB_'6"'.RT-@:7F0=C Q/?->X
M-[$PI)$*F_E:3O"83>(30L1Z!3S"GZ*7PG@>XEO2P9::#;M!C$YS\5#$WA'J
MR]]XG23*3XT"\'K[>O;*:?"+@]=/:]8KMW10U%XIG?G<[LF-++U:X935UFP<
M.HT$L@UD16P/P[[,T15P,DJ738$R-^AIFY8A8QGY=&1X9%KX%GD>#DKC=1HK
M/]K["HDXE4684A[.&QW3(#GXU?LK7^?!XY[#>S,%" 9H"?PFS=N <MRF8( 6
M-$ Y@'( Y0#* 90#* =0#J <H(OKK71Q!<IQFX(!FKV^0;/7VU0.4*T-S*HW
MZ G[CLKQ,;JA/K/PF$W,)(IK2+V&PBAZP\7&MZ$TM]B2XK5JD*F[RU7TCRL!
MQ5;'/8XTF(+;JR74YU=&AW[M$F1K.Y^+H;"&9,AJS#:+O<BUF51!\+L29)K&
MZPA#@*3S]R]!_@A)&Y5OJO56.1EOB1K52.G ',5)%V?I!!MSR1R$G,8+,S-'
M&E _7)W4,0 R &2>*/ZE5D(JT@<$M55_MZ<V\43K-2H(.(<MR89;43_(;6S=
MHG=;J#.1"M.F*/Z%Z^B5%BH <@#D ,AY>\CY2>7NUNF?SV=R9]AS>K&*M<B8
MGM0*E)7\B#4+;1)&ZV0CP-R:$+@-ODE<KL":O'(78; Z"@,G"H#-YP";UZMD
M^UUX^7G9K7P>-Z0&3$QL+AB+ACL.;6M3 83Y:>&:P-KME>W*IJT2<]8<9[\B
M.N,":O O?U-8G:#*F?&@<NU#-2Y^YZI: #4O4C.[,#%2Q%MZ*AO+D=*.FOOC
M:5]EZ#F?AG H=\>";:30NF5 9%<Y%2&<2\TL#J, >2I0,WOSR',+;9RKASS7
M%?H.;/01VP[[N._#;3^R^U#4%^Q>!=Y ^BG83)T]BH\C=68;C5T+LE)C$+,%
MV*!P9N<PK]5I"90:?S9_JAHKJU3P9K+:$H/!@+?E-A1T48W"9EI0 ;3X$23\
M(SGP5XA]AD6C%XYZE#YM-"X@D=<)4U0=QAY[,>T6ZH2?U@/!B&M685F"Q-';
M*/&MV/,:8,=![>X;%)D J:_8CH,<8"#UGV_'@=3?AM2_<M<Q]+NN8R]T8=T^
M\^)ZJ$]:-CGM>BW&)9@N__O),:/0WUCQP(^B*\Y/8Z/:RY$UZ?*NAG'^RML9
M7CI6$**X=*;J%$&_WI7SYU8? "&W 2'@X 3%QC=6; RDOF([#JJ(WZ"*N&)2
M#\J#@87S!N7!-^@D\8?38=\\6/8<QS'(F R8<?S[.2N/^C=*BS18=J^:MB2Z
M\8AS!WAKQ.;^37ZY\Y1_\V%[,;?\,/LGKZ8E86AXVJD6AZH7.<6VU9R,E2#C
M!I0^OZH]".2B C6[-\"66\A5!^KR.;*);H M0%V N@!U >H"U 6H"U 7H"X?
MMW[M!MCR68O?7C9+XOG%< UQ9:_;VZDDD^11FG6]A0<YOY]Q_K-/NPN><7>Q
MLVD>.KLPCO7TZ3^!M+9J>7E8LF%D'VE,#,U1H\C:9 )T3ZL>'ZM>B72/AC@.
MZO-NFF"I06F#$\0J"%F4RH'FDA^^4.X&V'(+57:@KR0PH"O"EENH%'L7B^!E
MKP3?^^3N:%ICU&F3*$\Z7+KH3"@OM8J3.[]U?.+D_KU'E]_U.K&HS<LVW TR
M;E\N$8UC_CTH)@/%9&#'03$9R X&4@\RQCZ.U%<[8/3HT[.L$O0D%#F=X7TL
M04=Y-K;H/ZBN8?5=$L7YG**I_Y-/+A[17ZN1H7,/3*2)D2TBRH1 ,L*#I1FC
M;)]\/3,V?=,K1IFI3F)<BPM-=:_I(B0,0_WY<D5"CNSS8P6ABD=IZS#UV&L%
M )X /'UX> *',I!Z(/5 ZD&A&BA4 U(/"M5 H1HH5 ,6#BA4>]];J7<(%2@[
M!@LHN;&3+<0X"MB$/>RG1:@@OXAZ*E;P,=I_7I[JSSXGOZ,*C2 )M6W&X%LM
M<7MZP?_OWQ 2?HFCX19*U7[EMOH7^G*^;$2RW'%O(3#K/JFSMJVB(:(3$U^"
M*?8/^G3F8T^^";>>S3]_&+7 B4L/SRN-.R<FW&*V;7UNGQ9HDSTES<8",Q6$
MSAMW8C!=QU'0!@*4 +XW6T#6.5 7D&,&U 6H"U 7H"Y 78"Z '6I7@;S"_42
M[)@VJS-S9&^3DU5OY])'>CO^PZX9/_$+?Q8T,C9.0]RMV 6O(HN8,U8\W",*
MMS#O#HC =9@N]UD';B&HK@35E>#@?G^Y )5ZH%(/5.H!.Q=4ZMW G>COV*?3
MF<9ZNV!J\VY7D9?)IKN,K'%Q;8$]QS[]& W;.#7:UG3K8&4*H+_<9>:GU_K\
MC/!#W0BA"_%?2'"L1;YCZ;5_@XO_J@0!("'N;>[DWD\B;H!'=S$AH#5 :[XW
M*H'6 *T!6@.TYC-K3?4O(]ZF#5WSWE5YD R7^S!7'+P6QTTB;B6*,"08HM):
M;*,-FRH(4S2EP^H84\Y:?;G[A\^M7P"#/B &@9/[;:[H@-8\?5\'M 9HS?<W
M=4!KGKZV UH#BA6!A?:KMW>WHS4?X"KO%QR\[;XUZVUG0QN&_.80VO#(_H2-
M<P<OO\%[TL'[L&WY_F?]W6>D%[JU[^C9/S941_4T(ZK71"WV,P_]4N>'(?7+
M-_F>_L]_K5_NK2>0$_#<>LCO@0;+@$;WD[5C5!%I?K^L^A?*)]E($3<O62_I
M=5K0]+!.$+Z]F9RUW09;[0?I']1+%FL1DSC*5Y?MQY7RR"&-;0S4W(LRFHY=
M$H.1%/7-;#UY>22"U0F*J%,4^GJ/K0$%?&Z!9.44\#NV_?MKYMU7;NGO^J3#
M.P#/K^<[;;,#W0BCRTRZGN8D^:Z,_+!X73R.0VN=Q&JVAU-?\+U\>:'O9'PV
MN]E",]B*KYA4:C>(N#D^,V3N%(L3XJ UAAZ;@Q7QY6^TCE'EE"B 4V^>4UDY
M904X=9,X]?@3MZ0I-J:KONW#J!RC1MSFB$Y80<QBF<986KJS!DRNC_+&FNUB
MQR@P*W_(ED3J&$P U *H!5#K8Z#63Q(-QIN^E(Q\F>3)Q:E/LQ(7:/L_+'E\
M#;AJG1ECHNN#$6^T?'?7F^SQ8V.<PU6>EH P5)T@*8!7 *\ 7KU;S/L/$>KG
M==EGD<\^^SSH\VY':G=7F>4RL<;O#U(_[4$E0]LT'LTXF^=FRGD?:*<-#EW0
M"O_R-XW52:(,5J"*^^VKN"NGLB^.5C^MU*[<TF\+K9[?&3<EQUU*:+93^80A
M00HE[KHM_'XNY^NCEP@=CL&^M>!@R+,W(4X.>;I]02_JR]]$'2;*<7< 7F]?
M4U\Y#7YQ\/IIW7SEEGY;X'4=$^[PJM^FAIW>O&G+)[:!1^ELMT6@*EM;G-,9
M[EMGEX2AGDRM$&XU9$YI<5<(?_F;8E[+U )/&@#'\%G/%E1NZ=4*9 G[D$%Q
M5SS I"YY)\@,AH-M!4/F$7^V50[%=-FBE#@6;60TL"\X@WWY&Z60.H67NPO?
MUML'-X P('O[#7H2WP /@!R 3L5OTA[N!G@ = $T$@*Z '0!Z +0!: +0!>
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
MC0G%3(O6Y&RL.);KF25W!$J%2NY7+S\LV+8+%-AU=.4A!A<,1#;^-_T2CG9
M0^^O $[)[*"9J?'3#9=/)?O#CCVNJP,V,6!__,/07"2>2I)[0\@]<^3>$'*#
M CE+_F:U_@JRZ[]SY_25M15[ZZ\NK:_F!Y8;B];CN)FW19#JE!M<W5T8AH#6
MV.2/?]A(+'%Z</WGG0AUWX9&P":$8$.66*+U1.O#GJK4LH!DN]8&KX5>..LO
MMHU4PJEV>EQ69/N39] ?)M2.\OOTVF\MMB?7PU0ZRV1,W9K3C/T8W=#"\[2O
MKM :R\00819/G.;@$[0A%P&2BP")UO_!?NY]R^"VJC/)18#$L_SX'FRXM?ZZ
M-UP_Q2/L+=IN1K68AB@IPUZ]+<HI(-3QSH97E4F_Y1'>1E&FY[;[VZ86F+N6
M/(:B(]<$WG5)YJ^0O;>^@=K8&<697=0S^Z5*?MR=ZT[?%MW45)RL"GU@<Q!5
MDFB_%#H:D5B,(>?[DU+7R\,02=HG>D'2*HFY$',AYD+,A9@+,1=B+M>< /2]
M^Y&OQ(6OY>O+ZCA;'90?)1$\]AJLV /&8K5"82':?DQ&8CRY]8W4IEY:+*0V
ME9@+J4TEM:FD-I6XN?=9FWH)-_<K-D=_T3T%.29;52U5;4?CA2&3?(X:G3IV
M3]%>Z+ONZ176DV8D>TPIVE*#RJZ0 L^SFY2FI0 KZC7^R<S7E&WJFD+]-XW_
M%R:S)=ELW[.-=CF-N (9^30.L1IB-<>.(+$:8C7$:HC5W+/5A'__H $<"0Y(
M$27+@)*R_<T#-J;T9M'R5*79->BYZ65-$TN_7SF<#4*.@_PU%(N<NU++4%(C
M-E[DZ&8U)G=G]7Q<8=4!FQHP##I[(\(G3P_Y(87!!(0(")&E^Z+[:L1JWM]D
M(U9#K.9X>XU8S?M[;<1J2*DA\=!^=<OM>JSF!O;??B'"2SPO\X5:AE:FF5)<
MZ"]2*U&8U5&$ATL0WXWP/K[O]IJ"A+0N\3_#HW>LO'9#4U?@'].2+ADRL"-4
M579,&*-[^UX<$_%^0)/ZGW\//^_XCK!)Y[/W^4Z'=XP8'$0,Q72'.@@C9'S+
MX:^"/:B./K-8T8EI3W+%$!MM;=9?9M.E^6A!_TFQ(AY+U75L-#HX'V=J$_OY
MHEY9B;HXS7?,9OS):&@%2QAP-#[+E8MP'!M)G+F+]DH-Z0K6YU>K$T-G@$=B
M^Y^O3'H/W= O>K+"!8#GU[.-T&'IP+*]GA0,67?1K-1,"TE <!Q+&[H.NDB[
M959, PW/,G4H9[4 !XJ.;S_C&VUC5N.9'=4%6I*CQFJSFN2U,0:K.#H4DTO$
M"$Y=/J,Q=,9*<.HJ<>KMTWNE_'#,##OQ]G1ABW(QMA)=-;X*'V:)_7PR\R0O
M"VVM5V498>+(Q?P*8582.E@\%V'B!+4(:A'4NA'4>B5E(*[E.J+Q-%W3^:UK
MCJINW$RD_O"P\:^ *W-8G4V[]:A*\TIVE1TV^=FBAN$*)1BP3"(2.\,_$;PB
M>$7PZKO(ZS]$J->+HNOCEIVME>(.W>RV\H7U)OGH\"&( U^])6$<,[(5/6;R
M-!"L='.;K#-BK8[1*O;CGQ07B7/D9*TPU%"'SF0_':U>K9,.W="O"ZT$679G
MK@Z;*E5G#"S4S )C8-C:$D \,6<@<+$X)KVJC+K#MAMS!-?9,'%'"4%$^"IZ
M%5VM822;HRK-+W)\52\]QP9Y%:-7XL<_L0@?_\I+7@AX?;2B/706_.G@]6K5
M>NB&3LK:0V4S]QV>7,G0PT6G],=J>OF8=J-3P/3CXV6YV,XD0Q!DO%R=U>VT
M9:RBW1:=UP8;L2:#]=0C;E$B#IN,19(<]RFG@;^3B!-:A#G)P_FF99ID!W_Y
M;<OG9?!VY'!IH1#%(-<#?\LM;L0XKE,QR$4TQ#B(<1#C(,9!C(,8!S$.8ASD
M+M=KN<N5&,=U*@:Y\O4;KGR]3N,@Y=K$K?J&FV$O:!RW<2'J!PN/<V!HN9*U
MH9@(Q=(L>\7EQM=A-M=X+<6752'[VZOL']<"RNU2LY!A$L(TTQ"G.37G-/*9
M^M<6(?-V=UFN1)_S[=FS$S-94YER&77 L;@(.1YAXXD(GTR2M//+%R'?0MI&
MZ"_6^K:LC&]$C7 D=8"E,6:+BZ?95)K/AF)?Z'6UC("0QJL@Y@G(A"!YC( ,
M 9EWRG]']41R29M/9;$XRC8-,&?'W7D(Z^G2Q=E"8,UU2ISEII/\L*Q.*EH=
M 0XJ_XTG(TSJ-,F;0 Z!' (YWP\YK]3N2HV6;L:3;76ZX)6<,^NI6[$?0N>F
M%)\UW$6>F;;SG6ZY;-,9;IU;(:S!AX,GDQ&>@ T!FSL!FR^L9?M->'F]\#;&
M9410SQJIZ<88M0IV57_,+4. ,*^6KM%=9=UPBZU$.UIJ-&LM[M&=9G$<A0IO
M63H2H^.D=BT$A;=7#S77</]P^*#FXU6S#FOU*@.U4:&C"4T><RG%S=DA*,=Y
M%7H&C=6\OQ'X;5N:I(2>MEBT6=OS<A*(PXG%2<E_&*IFKQYYKN$JY_ ASWF#
M]L&FLQZ.LB/5Y*?YO*45^ZG),)T(<XE^++I.,O-1.M?NMGO<4JE+XTT)TS<L
M_>.?1.K-*W!)L3&)IV[G&NSO)V_H$C.U\G)UVRXFGF)Q8<TQQ5@(HJ*7(/%4
M69F\P&<S=%/=Y.=SJ>04QC@80I7"'!N/Q%.GT=!U50J_;P<5X% :]BQ)ZNAU
M%/F&[( -,N.D>O<;RDR(UH=LQDD6,-'Z^YMQHO77H?5??/$8>W3QV"=M6 -@
M6(8!$EJ[JFU[C)IX'*]2O\_IUBQSI#DET[;/[01UP$;G"\7IM&M59]/'UE)R
MT^J X[Q-YU0DQK\5^Q ,(1AR\QA"5DY2;WQE]<9$ZT,VXZ20^!L*B4.F]:1"
MF'@XWU A?(51TJ3'S1DF04^+]73Y>:#TE,+D]W>&W@QPNEE#26IVJ=?.I%.)
M6D.4Z6J^C@(<?"'S>P'.S=['G#,M^">#DEW+ H:\H1Q+,FP=SQNE0UF2G!M2
M_/RE#B'1BQ!4[5Z!6*XA6YV8RWWD$UV!6(BY$',AYD+,A9@+,1=B+L1<;K>"
M[0K$<J_E;Y^;)_'Q<KC^)L;$9\I&GDI<:[NUE%2_U_M]9O&UM_GD6<;GSEJ(
M.O,$)QA*:T^DY27-0+QD&L!7@@:0=<FVM1%4H*"MM'ZK?H41NXV&F1YGQ*ZH
M3B=:;YYZM.H#+N87R_$T*9:[\6*Y*Q#+-53:D=LEB0L=$K%<0[7817R"S]T5
MO/3:;:RLDJODG^MB%2I5M5X?%BLC%:W=^ +*]];NWSM\^:);BKA"#T[Y; [E
M[6TD@C7ZF924D9(R,N.DI(RD"!.M)VECMZ/UX2:-WCR -J'%LG*OLZ;;[#/=
MZ#X5MXU<Z?>=34&9N+:#^F2WS%?>C(_2'THV4#('+E(#P$'84 F:P%IJ,JC!
M>3(5Z&Z:JH&?TI%T%YSQ+X6\-@;J<Z+79LV8DJ!Y-;\J0?\RCHZFY2)TG-3M
M$'BZ:W@BBS+1>J+U1.M)M1JI5B-:3ZK52+4:J58C'@ZI5KOLOM0%J +:[-=Z
M:K>0IV?J5*T4:D]/&U- 5 $^X? =KN!F2^"\_2IS[N]4 4O6;/ATJ#X4.BK2
MTF0'H"&C5DC'*!LXCHZ9)U(=1ZKCOOIJT,^E0T\O_:NE+:Y4-^5,F^]F8JHX
MST[LMOH'5X6B9Q=LVP4*[#HZEA7CDW>#*/XW_1+1SEPF.J@M8\5>N2"TBU:\
MQ=0-+2<:$*MX=)DHEXK0J12Y X>4)%X<HZXQ"S[4^S6_ U"_?H#T*3YAI^D=
M>#K8=>G8[28K55O3?,<N"QEGHZDY#$_Q'__P!)E(<B%!IEM#IF_=2?X4E"HW
MN],ZJ,5'[9G]R">$5*VD"ABEDA"ER"6"!*8(3%V:;R7F0LR%F LQ%U)U>Y=5
MM\1<+K6M3<1"ZC=)_29QQFZY?C,$%,OG[II_#GD[X^*9;"GM3F?)0I5+E/EQ
M%=3QWA+WXQ_^+?KV-B[Y\SAV?TO; G/7DL=0;I^WFWWWR!"N1,F_?Z&,^]9W
MIAL[=3^S/7UF([HPYP;+FK6RIQFU5QEFBW+):JP&7 )M1#.1!,M$:.8T;^;S
MCE^Y;ULBE:^DW.#^9IRDH!*MO[\9)UI/M/[^9IQH?0BU_E<BILMDH[0L(-FN
MM<%!C1<[^6&342D.:+%A]]L\IPPS&U!?+\W5GU$NKT1-KU4:5+2<R3WWXJ!=
MC*4Z@IH:%*)Q 05-3.S'/SP78>,L"9E(K2JI527+**E5);6JI%:5.(^W4ZMZ
M$>?Q"_;9?M'IJXVJW419YV.BE%0GS4UR6QTE/::<^XC3=[,%IAG)'E.*MM2@
M 2BD9/3[2T:'IJ4 *^I]_R<S7U.VJ6L*]=\T_E^8L(/D@UUJCRE<>G,%8GLU
M&YF8&S&WW\DG(^9&S(V8&S&W4(CM%LPM_+L8#>!(<$"**%D&E)3M;V$ 8%B&
M 1):NZIM>XR:>!RO4K]?\I\-8J^#'#,4E)T)8I][&WK2D;/R5'/BI;DVG7#Q
M9GW )0<,\^,?AH[$DTERUQ9!KY"+[1;0BS@+E]H[#)?>7('87JTT).9&S.UW
M*A&)N?U6I2(Q-U+)2)S);ZMTO")SNX$]V5^)8H>K9+V>=$9TM%9SI4W%BB?B
M*Q3%HJW8]Z/8VRAS_,_PZ!TKK]W0U!7XQ[2D2X8,[ A5E1US"*S_[[\9GOZ;
M8R+>#V@&__/OX>>=B77W&()6I"/ X"!@**8[U$$8$>-;#O<5[$%U])DUD\9C
M+MI:#EU&S(\:6WDRXOJ+TNH/:B;Q6*JN8Z/1P?DX4R)IE$;96GL*4C00E)7[
M**722Q:B30J72'(1B#V11.(T]X.8UF=N7X?-M(YD]#^?QVF%;9P7/7[A OCQ
MZWED8[CB LOV>E(P9-U%LU(S+7R#MN-8VM!U)#B'+;-B&FAXEJE#.:L%.%!T
M!/\9#^=)26M]>K86IGEF,70+C^E-%1UMF4('\+(1+A$C</.E0538S)# 3?CA
MYNT3='FUFF[UBU.39ML."YQ\)OYHA1!ZJG2M$ROF$\*TR2@SI=F(,1S:(DRA
M4W49GHEP-+ESE8 / 9]P@<\KJ0;U4;'IULPV+_*]33$I-#-S>2&$#W5Z3JK^
MW'?K2S%J./F80<?GJZ**4 <G)J02D3B?(+!#8.>^8.<K>-T_!)K7*[.W51&^
M>ULJBK/'9K[03]>;#>T/BW0^ VN@8.&KSYV4)ZSX?)8O3:?\C$WU'MO=1:^,
M71U4QYWD(GS\%'-('?>GYF*$S1@_'73\Y(FPC?.Z0$>097?FZK"I4G7&P$+-
M+# &AJTM 80%<P9\$%KQ]4*BDLVOVAN.F:^B[FR8K_SA=4I?"D)L*I/+2<PF
M+2XV\7FN/"F-9B:FEYG$CW_B$9J<)?'5"2IAL\U/QR _HR1LX[PN##IOVC[L
M%/.)\N-3-SMM;X1TS%YU)F,F&F;?1QST9\*J)!AB)O&T*36=SO@QZ>UJT3_^
M2:2^RO$AAQK<4;05QG&&B^2I+*P4&YM5ES2O-(U-5)V72^,0LL)KQ\YHR>BC
MW@:B51C5I'G3MCRXX'[\PR:82"+VUHUK..7FW_BM7V;E!S,K S248&J3^SGU
MY[4U!I0D0[<1VO0&CIPR3 ==BFW!CPU*@U]6+4FGYI+E4.:(@BZG#=!$0DBP
M@8)^PJE@R!^E1IHA&;(&F]O!.F(_X)'OQJEH]ER7-D@VX.]/&S3Z_=4QOXEU
M9\7W4?!3M.4__X'_!(^5=2!9" W&_KMWQHY>X^,^3?_O%^+[JU)@8R=3'SL8
M!?[W__W7X6CV>8!1V=1-ZV> 4P?#]%_-8LA2071H 6D:E4;PQ3\E?25M;'_8
MR5@ @#]W0(>D0B7_E_+_BZ1R(M*9M(X>",['Q:@.1G# ] .;VG]F>5+P/S1M
MO /UTP(P5H*A$7KZT7/Q_#CF_!LGYW6%_!2-.Y;4.0%(&,0&L:3")&/#Q #$
MN=$ _I 82$E.'B1D3E;D%$CRB1&:#.G[U?0#"7U"(R]4(E2ADGF@A$J6:K;3
MS4*V(#0*8G.7R!?"?F>JE:Q8:8I9"O[4K)8*6:$%?VFVX'_*8J75I*HY*B,T
M'ZE<J=H-]5#^53#@2F"Z-EST[;\NV5,,9\D=I+W=Z[8A00< KE3[+OL6 >18
M(IF2$P-YE.0',5J1!LE4DADH4DSFY50LGI04WR*DW84!1F?3,*)6L5T=Q-7N
MMB<F%]DZRA!^V;*6BQ8RK+5=T6Y*RCR+]%;H"ZL!>]IR4!MW1DNYF6IG^$7<
M23RQ^6E#@"WC+UMN)C2]F4=3G2F;88QNF>=F::8^X ;TRY93M2"/E%;,H1=2
M.Y9C^LS,;J\&L=.68FPSX^:R,9BZ4< 65*?0-4P5MCSI9S)G<.MM2RF)>;F8
MJ+%FK+;5T3-/^MEBG@N+&GC,T\4!#1+3I\RSDA(&\=.WTQ.A((BE<EKD&\YD
M.#;C\ZFA#OC3EB.5:94>G^/CMOLX'M';1*PXAV]/G+:,#:.JH=#\3%PDTHM&
M-BF/XX(P2)ZV5!8"$TT,>NVVFRO15BPJ]O6D,$B=MBPE1U/0G]2JXJ*;$Z,I
M[=D:353DRIXTW<R?4J;$NVH;=*H+6;?3*_%Q-6"8TZ:+Q[J1',J%!JT9@Y8@
MI]NEG"0,&/:TJ579QMDU/9^(Q4FW8S&->D[HP*>>F?OBW,P-'[<JTV9KCX6\
MTIK.ZPG8],SD-WKS9RYF/CY-BU$WFQ*?M]&H -7YS$QM*E:6+1F%47OAYEMI
M38*>OPG[>F:JTO%5O5NV8[0833X_)^5-MEEP8-,S<^564HR2JR>%MM3B"Z-G
MK9?86K#IF<F:%WH@(SD)02PF\C-IWE]NE!)L>F:VGI7XE.6?N#Y=3":>LZM%
MH]XLJ##D.".L*C_-%>(-N^WFU5)R/+39T0B:Z9DI:/47]4*CM=7H!=L7E?2H
ML\D8L.F9*<CRC[7$8U6 QM]K/):W7'8)!O4!>V8*\O%VA7\L%^MTM5FOMHHK
MM<>,8-,S4\"TEZ[2IA5.E$2Z(JV26JE:PDWYETW;<6;T+$E*L;W)NLE8M)LQ
M^PYL>F:V+!6P,3%>@89%LS(]F0YZ:PD*Z\QL*;EN/V;Q_$!T$[+52CO/;G0.
M)7!F"BI0F6;1P:/1CLK+Y;CJ-,JKI#K@SDQ!2V[$'BN+Z(K>-%;16I%I9_*<
M@&+$4[":/N96C^7XFBY*ZZ5>;[?7.1T"X)G9FKFTQLU6LC;-]Y]Z26Z0;#!;
M^-0SLY6NSY^MS5.G2^>G_99J+<>9A V?>F8*9NQFI6N9=6=:+:W7J:J]'-D9
M?.GV*0PE2I6F''==N #,XT6CXTA-)($S<E53O<&XOQ[V1799BHT>'::9[N&*
MCI.FVU513O+]3:T]*U?$?$X<YN*.5_QQ,JR>9@$VMQV)VL1>K<U8SYC45-3T
M!+ YM:8EW>I8%[7:W%XQB?SS.E>':^)I!P:54E^IY)/2M+E<-S>,8S>+K#"(
MG9DM(<WE.]P@7Q?S+;-<RVQ7;#*OHJ8G?:VHHWEENVCS4[=0?FPM.LO:1L!/
M/>EK(>D\:PUMDIAFC(X:YVFN*#"PZ1D=F,=ET&KI$B]&\\D^-VGD2X,L;'I&
M!TRA-UUVY:73UHHK;5WNM.K PDU/^KIELJ6^]JSJ8CXC)>>CV"0A,RIJ>M)7
MD7G:/+K5?G::3\6>N=ESWK70L,[A +V:KS6Q&J7S#97N,<M4J]VMHZ8G'7#9
M>'_*:8N5J,TM^]&61DP+ GQLOQ)CIF$7TWD<%(SG=&EN@Y_!#X<^& \]*=_]
M0C$%)FV,@!SR(B_)=<S@ R_LPI\<16<'-);?YC3.<JR@8X&_YWEQ[S)M'I>?
M>J"9MSC4@T#IX/DF?.9(-U=!I!7\'D6,W4\O@EU!.;T;0_K!/7YQT%0:VJ;N
M.N#2 >7!-W^!S=U3 7_(>++O'-),9N92,\,\O'F&+IF8BTT,\\ 2- OEU+ /
M_)M[=61F+H=F_)OWR9"9N2"<\2R9FB^<FH_7[G_,6[Z,& XIVF]).GC/-?T.
M,7@G#YS^>S0\&)NA,?_?C_B/WQUJ\B%UDED:@D-/_F3KH0(?1I7AYV.;$@T%
M**\<ZW!\I .QE3NQ%?9W;85A'U+LC=D*2[/<)QUM\IX+?$N:P#UP-Z@)[&<@
M8OA.&GMSQWVWF4[E&M4R5:V)#:%5J.0I(=,J= JMPXR!ST#*\(GG=Y),_IQ?
M(G((Z)PP2.+MY/+O%XVWEH1!,I?6$<Q>$$$$9,'M2.(:XXT*<"@-%Y#=2.1P
MH<7OLH/^C'J%=[<BOG^AHKBCU.6CJ3T<Q]P"F"I$%0N?7;+P\AA0[N@84&Y0
MC@-N4A1[*JTQ0RDS=OH-=OG[!9<URQQI3LFT[3-5"/VA])CLIN8UD6\VU*((
M5.591ZEZJ :!CG!G2Q ^=P&_/^-^>Z_ABJS[;6:>6/<W'/+[IG67Q;CL:N-B
MILW6ELXDT2]RFHJLFT<GP$1B_+ESIS[%!0F="R8H$]=V<"D1Y9B4!>"<R9H.
M*&/GKJ#/T6\RNGYU;IGH]&2%&FZH?[FH1$DS_J+,.4"S:Z@4$M=2<S3P&?>S
MDJB?1/UAC?I)D!\.09 @GP3Y(0GR=_6?#(O?B&ND*53["PP;.S\46*.?"0-P
MQ0S Q58]$E%<E"_ )_BG)>CR9@XL^DQTT1%F/:E0R@I3J:2/W.) ?);K]0&/
MN ,N$F-X0AW<('5PL06?P,)%B88/PP)OMPOI;C:1:F_6?#8?U42Q8:/Z6Q[!
M AV_$\[AI9.4&4N&"A^N&>B<%,O%C()W.@QEHA-2EL#G)PBA0 B%&R84+GSI
MVA=[3P5#1L?Y@BSP_ELP!,_:@Z.@&D &VA(54U; N7.AYI-::>%P?%KDR]L-
M1_>:O*$+@P3RJIA(,G'J57W&,7*$9B$T2VAIEMN^IO&/$6-=655L-R\*M!8O
M=:9%SN22+#K&A$?'3IYNX/[6O8TAI9ZR +K8LH;GBY!-A&PB9--UN4N']GL&
MVA;589-?/[&\Z#ZOQ%[L\5'L.NC<)>P,Q=ESE[81BHE03(1BND9/Z!TP2)5E
M<9U?#N-BOKZHY62!+PXR=0@&/+K!D4U]@&^^16*IA)S&3]]P"]>8"7?THGKM
M;BBA,,+@%_M$U2#)#%NVZ!GV&3R,1HUM>SCOSNGF,^@4S"=FUI^O!BG/.>*X
M#Q#MA"^Z4;[H,U'B"FB@,*+$%SM+'T4)AQ6GLTXRT6[SF61E5A(G"KM%!]+R
M'I_,?)77%"(7*0M&P++PCIN7Z"NM X>)^M<0&&"D.7]1A#\B_!'ACZ[+5PHL
MV[NQKB6M?2!,>T9]!@]SF^;46/'%&,T:SZS=T@NR*==Q%W_\$SMS2Q-AE BC
M=!.,T@WLE;UO[J]>SV:-VK-*0NX9TPS/)^.:E*#=@H#ZBN@C.O7YVV1A\)E?
M]XF$&;J^:NNE:YLCE(PD&:J&#GF6;!LX]N?Y0^$2!.&2")=T-_[1H9571X6=
MC0O8Q,_ I)$6M5AI_?@TS0BCS!-@1HE$3457C:"*\-37;[B%08<N#A:$4R)H
M<0'WZI?1HM+:K!G>G(W%C5)NEUS:&O9K D(+Z%3QS#UP2]ZEH"BM6S=MF_J7
M1S']A5PJV]0EBX*NJ:5NOB3!^_Z D1!-!!HOE=<-S1J=LY&SS)EG]&7@C$T8
MB^X,^ZWX,YHN\YVBL)7:FR[#I[);K55Z7J&+V=!V'4?.V2&\$^&=PNH8?=3Z
M7QJ]7A@.M45Z4YGF)P.=[1@)UUC4D='CW3>&8>^-=JHZ8V 1:HE02X1:NG*/
M"%MRQ330<5D>/NZ3$%[U@OKQQ7.EW^-']":GI^WTL))-/N,[9Y$7%/_ZW;<P
MZ-'% 8/02P0Q+I&R]#N(D4[Q6P'8"5;<9/KU@C%^TFRQCA #[]O=(,/T]]%A
M 0='#GK;<G".*5V3,$Q\YO&#]P>#A$P* Q!>1 Z$$KFC48>2$OGFXP+#X V]
MD8PBR[!K<'&S=K7NA"(@% &A"*Z;(CA[M 4V]/V9%F_Y_KTE*_:8S4*9LK;C
MIA5AM6Y45@,FCMD"/DG8 L(6W =;<!M[*!\!@Y<8,*T*0SLW,.9T=R4_NZM2
MJ[7<"@@#T!8*'4FQIUDFMW3"309^$XW+#_])N$_"_6L/]V_OC+_ 2+N:,\ZX
M-IP38.&DN3. QO&%2GVCR"61KW-/C_R@T* 5"&CXW&2>X;[P?+^[4W_"=]R/
MT7^[^_(K1M_CN_FIE;-E.M^6EDY#'@DYMHZ,'B7*1OC8Z<[G722"?+)3$ZXA
M$Z[G7KF>FW1RL,7NCIUXM2:@E7GB1T/&RDQGZ73"J3B"LN8AU.$3C-E(*O$F
MU!'"AA VMT#8A)'M_78/Z17$>)7OK6RV:GUDU!)B9E+N<Y5NI3>M8.C 7A*3
M_$#YX=43/KN]L+FTD7 YMJ'LKHSP3ZTA-- 5TT"?[0L1V N9HQ18<,TS8,%0
M_!/=2_NTK3/H-Q+50I&WLF6Q.6)RPVT&5"U9&##XM.-4),63&J%;)(@^VS$*
M$QS<)._S0?-^U<L9Z6;VJ0",!0W2XZ?&..JVG?X*V3FZL"&2BM]=4=!NC^LK
M\EK#-?10<4)#TU* %?6^_I.9KU')NJ90_TWC_]V?G%XEET(G*>*#_3HY'^#S
MYBQ!/W!!<J+'IBR4U)2>I(KII3I@\&G*<>A]T23;Z)+D5>@,\-*">I4%"YVD
M[LT_? ]Z7G4,9]ST<2&W"\LVVRX6*EQ\9+-) 6$0<@R3D63\"TXI#(,;R,;P
M&RO H5!M&#6WS*6F (4:;JA_N38^N/FOPTHH./8EJ7[Z<Y<P;%#QM7N&81LM
M\>$.@11:?P8:?\VW_?2F;:.#7O?;!SNC/P.=)L?IL4S1T.EJ/"4_9]9&AM56
ML)^8.V,C+'^:5T7(LT_QU<)F55^[ZQBVT=ZV<_5+F/"J7[4J*U+17)CS=M/-
MU9X+SGA;:6%P0'X5&TDE3V.[6V7<?%?K""V\9E$=C!S<H6^JP"7D7(@3ML)$
MOH4,5"]5K1X&R5Q:1\*9VQ0F^N=6C.7JV STDN'12U9>NZ&I*VB32V@^4KE2
MM=ND<HUJF2I4.F*S5:CD*2'3*G0*K8+8_,^_AY^WMMZ=35P^M>=^*KQ"L2+>
MVZC#D*YR/_5,Y+B6U_(U:JXECR4;/AZ=<C\V+2?J &OV)6?<ATL2)$*\_%H7
M!DG<=NU/3=I@(VZ9@KQP-0L\ EUIF67)<2TXQ4T@H_^>9^(3,ZZA*J7VA)YI
MR7QT-&;=04(8L-X)KTP\0M.G>:RD (@$R7<<)%\[3?\G>)%W\\-%HB*.Z;RP
MV/+/7"&?B*D(+]#YKK%4)!%_$R^NCB=XZ4SY4M*^Q9NZ.P@@G$ H0.X.\QEJ
ME@D7&P7?&-*$H%<=_0(J)AW5B7),1Q7=PKQ=3*AI2RC5!VS,.R?_/"H2>H70
M*]=#KUP96GRU"_4G:)&8U%J-<>>Y2?,@NUF!1H-Q2RN$%NB,O!1]-N:Z/Z9*
M6DJ:CDJVHG!:HC84(F7OQ$H(*T)8$<+J6GVMEP&H$)AZSK00G.[A,PN&YP[H
MZF[:\]G(*23$IMY8V/%-O:6Y$$*]HX;I6"26>K,LD]!6A+:Z*]KJA8]&(3$P
M[-\W1,P<^0YS"Y6?.)L(-=<EP\&'L@ (-7.$.X2>(54HMUB%<HN>0<TWY!HR
M8\%0Q,"(S]U6:"^KLY[RM&XW%SVCD]CD^Z:I#EC>.\J.B9'#>DDY"2DGN1Z2
MY4_ H.VNL_%\(9:;;MK:-#.N&#'&Q6" -JHB\>3]'-ORLE[7+]'U=ZR^J$(W
M7+((%:\2.ACY6@_J"@1PVT[5*V5YA<#\/U:6I]5R?,DJI&M3OMWJ#A-L-#N<
MK09LPKL((9),Q@GC0@Y;N<1)PJ$3P&W[99^#)\YR51WIJX%):[GQ(P!/\6I_
M64=X@DX/9B,<]P4>6HC<L;#4]-X?C)(<HY  (2E$(IDR=Y4I<^^527__8M%M
MKE 1*IDO++H-GWA"PU+<G1S"D_T1BD62"(+D.(0PQ^%.CZLX/8-]-C/1T$UY
M2EE@'B0_D+"0A(77'A9>.]\>[%OF3*NQL\SJR#/9)K+8,W08WV*K4;-4Y&BM
M*H%)H9(#1DX=</A(S&0DQG_E/7QWI_<D(+X?:_^F+(5?LG8FNT@:T5PTUYZE
M.*W46 T,J2P@:T?D-Q=A[^]6F4".*'T3IRDH&MI>,!22DW#ST3ZY;_A:?9SJ
M*!N8Z=N(9U73C51'8&4:Q)-IL5E3,]G)"G4/5VQ$^"1/T@?ND,RXLXN&;\CA
M^;#I<WVM6NNES4I;$PU9:MK1=,'"IL]CTX]_Q8'>8?)L_&)A:F29,\H>2Q:(
M#B64A"FMX#Q3-G <'9"30TAIRLV6IH3QB(#O/% $(6-UCMYNBVM@R1JT_G,G
M QAP^5JGYT61K[ I(]WL@T&R/N!8["1%&/J4!"*Y$:2.Y9;K6,*('-]YN,@'
MD>.Q7^.MS=/TJ2WQQ<2JNUEFJDV,'(A0.@VM;C*]Y-V*EY%F2(9,*EY(Q0NI
M>+EE=NJ5#/5<8/X?RU!/",6<+-8[F6ET,]#LJ5QM1QOJ@//.QDU&Z!BAK$C%
M"ZEX"0&>7*;BY1?Q9/VX3M;XFE@4-]U-8=V-JZGQM([P!%ULQT42B=A-\6 7
M2EZ\6_KK[@9-+M.YGU&3E)WK&_8M< KOE:R(N9R8:36I:HX2>YE'H9(7J8;0
M$BGO9_B'"H7*6DC9"J$:PE76$CI)W38G(8Y&0':J(W$MCR5#!0W) 54#A17H
M_]!11DL8+QB.W0"V8VFR Q3T!\%0CC\X:/E6L-&;%3IQ=MVLT<7$=*MK3-SB
M*C#8P">D)AARJ0]A+D(A*$)QA(/B^&9X>ARN^<*L!P9BE,VM^]QDU=DD,#SQ
M/_Z)1SCFS;,:KY(*><N+K(@MJE#)-$2A*5+_RHK>3W_!S[#S2 F5K/>#6&\7
M.D))K+3([<-73IA\]K93F  QC+OV7^S?_1%4UJ#$3:5@R!:0;) %WG_A[[J+
M)O(0E#V@/@.ISR.]UY6$)[FM=<2VX.9:5G2V&G"\=Y5CA&=/:TH(*W7]K-1G
M;S>%"4=NP+'Z=EQX8__)8;AQ-+>@JUU%+A7L86VCJ0@@T)&X3"P2.Y-?>&-5
M9^\Y8J]Z6Q$J+>8+E0HZC*::HVIBHU#-$E*/D'J$U+MF)U&P!]417 <"IQ!8
M5K>$TGU$,,P]Y^L]/B^UA,N _[F+)F,ILS]8;YWIP@1%;EFQ5>$1^GCX$%XF
MP452L:]/$2= 1?B]^^+WPH=4[( N,5,K+U>W[6+B*187UAQ3C%W(33WG;!;U
MK3ZH37/3V7RV[":ZXN-Z(R"D@LXF%Z<CL<0'PM&;(_K>\"]%^.G7>)9W!SJG
MQ8 <Q!?%=(<Z" D4_\]7%0*&8:37 :5[*K _5M/+Q[0;G0*F'Q\OR\5V)GDA
M*O!L ?6D*[J-3G[:U,W1LC]-R/%%?< EO43T>"3.IPBU]PV%@6&PK:] D=.B
MP#",]+I0A!U4%E:*C<VJ2YI7FL8FJL[+I?$J-"C"+NQF/L9,6#K3GW(:W2F[
M[;R 4 0=P\#Q$9H_O<'E9G/Z#C7FQ$_[QDSU<$OFCL^D"A.K%R;HO6#.>Q@D
M<VD="><I3F$BEF[%6&Z.^ZA4*U%,>Q0J';'9PM<Z5+)??\G#W9G&Y7.;[J<8
M+)PKY=W-?@CR<.ZG.BQ4"UX8/("C\3?0YU%S%'5M0$FV#="9QD-'@E_"A]
M/VD',0&4CO)YX)_A\'!2$CF.YMO32<) =7W9UL U##[D/-\WYQ%C^*B.VC80
M$'94?>0H&$&R7\ZTJG. ^F2H)00?)4WR3.D,Z3>89A.LV^ENIVYG7GNRZM.2
MPJJ#&#YV.4%_X& P$K-_4[)(&$SQRS87KF'P5X9#7YRW_+DX)#K-1+O2=^)3
MK2$VS7:OH<_'&(?X'_^DN"_;> @Q'=)LUVHEL2Q66D*)VMU\214JN6JC++0*
MU0IA00@+0E@0PH(0%H2P(+\@D+ 2(RA%@9I+FH*9#\V0S1F@'&E-SN EI <A
M/<(=;'PQZ5' 8-!"6%"# ''N/!M^FQRWT\(8OKVORRU#M>OK^B"&#^--1.AO
M*&XFX$*HC"L9_)6ARQ=3&>^CRT!M)@KFLEMHYTO+=/])[=O)F(#0!5V?$.'.
MG)?U=8Y;F+PT,V!XO)TJ<D$5J4DA-2E7['!)ZOKG,6O[&B2RFKS@V_E4E&Y&
MUWRT%-67;78UB,6\NZBXV <@D? WI.2$E)Q<G=_T<9#(&XNN-=[*?5J*.VLG
MV=]D8BL!@02J*8DD/U*7AOVF?SL2G/COF%<90'E:P<0F#VZ-\B:V-0:4)$.'
M$?9R@QP?PW3@RR4+?FQ0&ORR:DDZ]) L!UU5[HR!#= D04Q MTS!GW =N^3
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
M2IJ.0"%G6DU)!WL^]C5__;%3B%7JVN9Y&DW0&N#Z(_91O==TN9WXHE!^423
M T8[3#ZZX'@[-\>;"4@3(53M!@&!+FJC0>P<T-PNM0TB\9ZJ1^D*#E9C: :8
M.4-0A)YU0& AJME<13S2UC4L /N*7#L5NI.>QP81PT;)1L@?.W+ T(<>C*-7
MG'AJT&S=&>*YP4$2$GSO&-H9 FST7+0'Z>^N>L^-H*]9(,!!A%AX\S9R[,_
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
M,@"CT25-:'=YA7?[1]DTP&9WYQ#LXZ?!1+B&?9'4&\]7#9T@_N?3&(\P#.W
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
MC928W;?&E>2M(W/%AKKM%B82+5O%0JS<++"K@M$<)R$R1R=C=ZE$(DP.>^=
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
M,<B7!V_9%C((\O%QJC'Y]TO"VV Q</>N22Y)%!-CZ3]V>#>!#]QZ/UXSV%'
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
ME]#ILV52NG<S!4U?:3JF#V;0Q'2;M._?[Y+F5P.7(.10?HT2YX&X'/#55AV
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
M>[#[SOL(MUN1?0,O<$Q,F*4+Y20T 74ICR+3!N8!1#-LFT^4IE.\9I@O*<V
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
M)?W>76)O@Q6^ZNJQ5U17?V%.Y+C0J[H>\^!#'V0JC+[9L]1Z-%?CI0)+;XL
M'XEO/^-W\4SF0N7U$#S>#SPR023$>X"'?0$O"$L+P>-/P<-WL.SW,"_ B5GI
M,C,^-A2[R45AD:0-2DXQ4!H[_>TG<Q=+76KD$,)):(N$ML@7@I,:,B] 1W^K
M*-7THK/H1MLU=L).'ME,@A2KIP$[:"8>8D>('2%VO&]/J'>!#N-!Z?:F#TJM
MRQ16DUZWJE"%1_8CW9AHB;'VVWEWSJ$I:W:J/,WWTJ1]13ST8T(_)O1C0O!X
MC1O3PV@2GSQ,XG)2DLS$="=(\R&!DQ2Q11)4"">A+1+:(E\:3BZ[,16ZO9ET
MI+K(,=*VD.2:::V> .A@*!("B;]DB7S&W.R<9> 9(=UNUH378\REU?N=N7XU
M[ OHE>8/.DUUA:GEER5G9_/I*J\/.4&@<M%:_K&2Y?O=[/4.5M-+KMNG2_2"
MLXKE9FIL;O7'^6R<( >KU)4/5K^:U#L:/VC)-3>FBF,L!(TJ-[<<;H<U'Q?1
M$- D:ZZ8;;N+Z"0:(<1SD@ZM,Q/??F;HY/7\CZ^VR9S81= VV<W-D'00 3F$
MGIO$0^KI)3M1J6Z3JL]7<DW2Y*?.4Q.#4?K;SQ1SQ4/=K[;M0CLHM(.^)AA=
MCJ:4Z4J"7Z6T9#<Z8]D"/=X5UD]@!<&A,)VA0^0)D2=$GD\:NWT)>)CN-$ZG
MN^LJUT;%5(?=&]'"4_,C'; %DQF82TE;R-%8*[E_4G:M91ML'CA2#CVPT ,+
M/; 0>C[* >LRE:B2[%23W+K6>QI&K93&#X@=E/KV,YD(P2BT@T([* 2C]W?
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
MH8I:#6K,[AEX)/K4&ZC'"Y,"TU7*L]ZV)"WFZ9Q44=BW^'/O5D/\'W3\=M=
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
M/\@HG?X/L?<WHM )>>?B.K)'1&]_.**",5R\^S/_,\.EB/>AYVK]-@#*3J\
M>OK!<S&O+'WQA8SZ^+[SL])W2*ES!(#"C !!@08$ PHN A@*JJG'[IU%9,TM
MUXWMQDBSN<JX*:"AU)>([1-N ;,36^2OO"'9@)*GQZDW/\7@;C),@!^<^@XA
M\HCV'"4_/#V3MG@AVD/>Y@B8DJ$,D>LYU%?@VML)3)#\*TS$(&4Q]C/"BDF8
M]A#E%9"!\)UUQ&'SI'&3[^:@O2@WX#C^MH24#\FK)W)\M!S%5+ @9+KGV7#X
M"(<"$4:54]M0S)'B6GL1>?N/<W$SA!!CH<=E'<@HUG"_4:?H^'DUV5:]_1XW
M9$7RKZ!G0J+@  5:PZD]DMUIP#= K?*-Z1XY-)U0=4V&#N7>9 ["IYW2F,1P
M0XBV-=$--Z.#- 4IUEY*T4]OH^D;T +#(> XUYV^@T^5 &00>H ) T7$!!A7
M8:_3_<H+H_TDB$?INT<R8YYY/\6\0W1 $13>\X,AG[=[96)"ZYJWS>*N]=H*
M>]V :+^(?XS_#TZDK:N0/)P&#'E#-+S<6U#5>(+#W!6$>QS$N+N?\$]5$5TS
MB]%?U)"0>HF_&90LJ"#P*_>'KEK WYIXX<!=^"[IB'^%)&>W\8=SA-B;] ?O
M)>"@0)U4:_E44C0HEXKU_YVG.UH6*@! S]V?V5Z:4I*0:^OE!&S33_-[RYD#
MJ)"C?P^C1#3SO2C/"QD?0T7=-EX5*L*%<>)!)A5ER."D'G-"=PA%GDG%N+;8
M0!Z][N[A/RYS]S(WR8;&C^$4+3?OZ3_$PV%_+ HT)<FP74C$>VP;C!R*2RMC
M]/A(]+L1WD.",.%2ZFPFY9G(>V^V'B<>R8Q3-KX']TX!N)4PV4_*<ECLJIB6
MI4>!/1O]M60]>[]=R19O#W+Q6'D]JR7C,@Q3SM2K?9",!Z%U,%GRV9'Y>SB2
M7<S$UBJRU'@Z42D4S*33,%:8(T]?\/Q!CIR)YLU#K,,XNQ>XXUS["'@)=8B#
M.K;SZLY%1_]&RJD8.U9?KQIEMXX.,.9[I%;$[GAXG\W&^'JU599[$8/2(\ZY
MNM[7T=-4UA'DP^PBQJ/<Q7O9M*.\"DEMXLVL,[G)PVSX1/RPD@4.]IZH'D5,
MSHKFY)'1D C0W7A:Q[B.3G52XG0QF_=[LM@?;EJE!GNV9O2C*F: N:AH;BF*
M.=FW5=+C)!\C"!QF0.7SW9SH58O#GRIS?]W:<X\%#];$ &ZZ^N72\1.COG-!
M1/^&-I=2!ABK.!PZDX P)SBH\$KOW)(X[U][3T9;U3A..M@.Q"-55/<)?4PM
M:*9J!Y:I\V#IV1S!#?EQ7T2T5M08$5\$OE;,W1A<IE/3-=TO^G)_M+M@<0[Y
M(JRD^[*6RV?N^9Y1FD_CW7(K,?_HEC&J+LL;^OPMEC'>KO#+J5-.D9NTF#'N
M(Z2\64/+2$:?OJOH&_HJ+UG+3Q> ;)?GUILQ9Y/*1!D(<J>3M:KO=X;>+P";
M0C->:V2%S:P\BE58)2736KIY40$X=HWR7J'@&P"-_GQ \[(_;P*TPZV_H,IT
MZHES)I\MTXON:AN+V,DN)];!LK>.Y;B'B7,%F297U62.3^E-7LPIU#V]Y8WE
M&LOTTZ>$?P"H75P N-B$U>7.9LG-BS4AWWR(U(KJ-4!MD<DMK86A*!QC3NLD
M.U)GS0G:?_TZ4'/C/72MFX\7C[FMQ],-II>C0MX42AU[(.0AS3%>/9&[,GW.
M(4B"H1+RC,U=^?5A%LI+#Q^XP/\<[:!]S5;AF=RA^U/X[2MW#D7,<2%%D6DJ
MQ9 "2:?&0IP64T)Z- 1""I )4HJ30T"GT3:LZ/^B(PGE7HN:9(7RDHSPN;[-
M:QTKW6\B/3D>V3?[CEBOB#P'JF4M:;?ZW'SL0)TZ&6EV)IE4>NUL.>CV6W21
MC$^7C Q')DY&IK(;K<XTZC-03XYK"<4:;^JL$!/(XY'+_#VOQJ0N/9O+=;.V
M<:9,:2W#D2=OG\1TX$RH69PLK)83<IC++QY&:.3)V]O+=@XT,XWN##2U[&Q3
M+B2;)BLD3M^NC%-K62>U,K<<I:JY%<-(#< *S.G(LF.754GL%WBEH&8J2TGO
MI!Y0$\:3D8/[7KT@Y_M;<A,#W3+YH!:EM"RD3T<.RV2M*D(DX>SAI+%LI6:)
M->T@!#L9*J93E<I]0BS/EOE8NU!3LVRC(*.A)W3:CIN)W/R^TN*56HE?+B;]
M K?%3STA5-%D9G4#T#)IV^6)UBNG-A&UB>X=.IF (&GS>:KOS&?M6GIN#@J-
MYB2&AYY,H#/N<*OBA+9F2Z&?9->9[*@OXMN,_ E\?E;G*'7F840#&&WD G7@
MXS.JCHZD>)OG>0'(Z17UD"0+5:K$#,J;QFHLN^8%P@08L=8SX[Q-=@) :%[
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
M]/I:(4F12WZB3%>5;G7]('LM+^-W-'.N<>[-I2N>OICFUEI>_M0L1^!V7 ,
MMW0 R1*Z>5_1;<XB66#V(V)R5E@^-"TA)4:X7M/M>$F=A>PPZ_0)7E[0E"T
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
MIB/ML'6*+^OT!4UVE1[/Y\(L:(N:-';G@ER?K#60U/LK3NMO-LN]HP&$7]8
MNF:WY\_TKKW1F]' JFP5P4#Q)I(NZEOEAYD];V, '2BNWI08BD;=\J+!S*VY
M;MF9OBW].+P6^^><7MRO_>,00A(N] J-:J$V#X,%/]XC%UQ_=IH;JSSJ-!W1
M<(RI;; 64AGSGSX3'V+__*YNW*;],QP&O;6;=@A%(N:N,=]S7>J2#BEIX\S)
M88!YZ+A%4INU/30Z _!V.RU 7F3=N%';)^8)8R#W1RRJ895T6B;6Y<6?;+3\
MY=C;S.C*#JJL1$L<4IT$[7.Z:I[7C@^+>KQ&0:K9R_,&]2.B*VVG(A)5<2"N
MT<8V*#?'W 7UP^B.=E5AHB"*A2\]Q(Q\L^DG+^C'B[;Q__UOC$;_\Q8&\BM\
MHY>QCV\@!>1GNB=7)[8T2]P^*D28H(XJC"Z/^?>WC\D [<61.B/1<9<;VG7;
M:_@S_H\=A&=S;8\55)\56=4=0PM!-=_5=S5.">#F?E:O]")IK&!<C/#)T8Z3
MS\KA'[WNP(L1/(F1__P___5<G*_UAK]+8WTFY^.]\;RNJ6D@\]#0;"3/?_Y;
M<Q(MW3[*S7!_D=C72JU/CT7DU?G1OW#N'P_/?O]:H/:;&K9[Y%DG/I9)11QC
MF0E__-K39^&Q1QX_]+<6&.Z_CUC8&>#JYVOC7FZ@_KR<]@^U[]N>.M<!WU4&
M_''.]F,N=B&2BB^T6/T!I.]WL5IQQX2:3BJH;<@MW>PIC:Y>ON!BE4=7^]T\
M<1540"<-71,I?V#QYW,NWG%!\H>Z<9N+57GDRNMQC9=%*VV2HMO8UL+R!1>K
M\\P"PT;CD8WBK2@8=UO#N&J\Y(K]J)29>UZO#@1U(TS-3@>MU45A/+,6 WIR
M07BH%3[D9[50L36.:*7NGG .,5B/G-M,\&[KD=<O1R[EKK^!+.6?J=YJG-2)
M=4\.%$&21ZW([E.J>P%W?1-EI4[J2A-1P^MS->BCJ@;>5[[WZXN1"SOK?Z 5
M]VO_S.?><-F?5RE[<%AZJP1?5$/W@BZ5!B=9H:PW4[2V&\]JTJ >!!WSTV?R
M-UPJA:DU!ECZJ-1@XY]N6+O\5)*YYH!=?]MCG=^/\,C\L@;RCV+TOTCQ#DK8
M[V'2(6HAB>)VAEHK;.PHJ7(!F,5U]^")0QI1+,*+ C7D*=7(E"]*SFPMS[=]
M?G6D7&;+PYNMV8HY\'2UO$O*D_92'/1V4T+=BRXYNB!]MM24Z%$(B]MI=;T>
M# [X :_S+]"GT!;VEP58,0>:U'>U64 V/&7<[ SVTC)9@ ,M+C;0U<2C]_7&
MB$$U7.64:#68)P3_LJ6<EX7V0Y!/['MY[9MO7CR/('_0\E(3WSO=_WK@"P'_
MHZ53</9O482=DVK;LZWTD&Q8KJ'4:[];A.07V(^E"H:EDUV*"JM>/*G,],@4
MDQ?]ZA])_^_&\5;@KVZ[[9V)^E51:UI+?UPYX%3U@O"G;),HKX;QSI::9BA(
MXGJZ;^5EY3["]?:;@UQT\)?-#8&.DY8OIJ.VK-8]G=EL+@A^*7$QO3:NMNR-
MWFXM(V[7J_/\1X3T_W"<G[G0BCG2AXXZ9J/M@44U>G9H3,9TH%QR.B=<E6Q@
MOD^AFDMZS"+L1;'T0FK/+[_BFYH7:V'Z[!4_S+\.GE"/LD9;(_KZAL_^Z>M6
M?IF\2-YUK/2 #-NA'VG.>\"^SU&K3ENMB^XJ<8@=,CJT.Q?87],>B8ENH<A6
M&5C]4& XBTI#'B[QWG_$N6&0ADS"-<6-RPFN5VM,!>."NYEQ;%'5UT2MA1J-
M<JI,5J1EC#(>G#D;YW;7=N\ZPN0ZE=.RU)+LL=UT)WN'[U2F%WRW4[$81*V5
M6D<'PQI9JT9(TSV\WZ+N9>)_"/#_>'7WKKKA+F>&HM/SL4@W!X*UH+=2S%V
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
MB![@)%FB:5AQ$%:*AI6B(<@^/F3P*J)A8A<9T1;1%/%@+<YGYFS7JO. :*!
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
M%"!V<B:*]$ZG211 V"M'XZTYE@%;I.4CH<]0=V'%=+DE>A.[UMDN>"O6 Y(
M%:V)3Y\9O,3@\'2<2YR46H")^SZ4.G?^:0&$A90JIOOX9[BJZ/S,D;956<3M
MQ;PG]<K",@3%9.G,1F1+S 4<P_>'JSLRJLZ==%H 82&NBNXD_AFXJIBOM?0^
MHBNTSR#M3AIVB!X %_?I,UG"46AF06Z]\9FF!1#V UW!=ZCN)V=N%D #H._C
M>E[3;^P6_MDKL=;#3)H5];58L[MA5YOL!<G*#X:@/GWFJ!)-O\*8OY$\XEKH
M;[</0>@OK0A&PVX^X/O6("R ?%?.OEOS^^9 Z>4\.8->I;G8[5=SM2K2VW84
M++MAQ=F:*@6\OAA3XBB87W>_B<)O[?LM@'P03L5T]_Z84DQU3D09-#T%T15J
MP!#="LL!2M&?/A,E$D4AI* %!3.![PE2'^OD_3&NEO5EP\0._:W86@O*<B*[
MH6<#7'&?/K,4!F$%8063?*&>WW"2+W1K%.VE_,8NW1^_ (UUV91,D;#M%"MK
M:YN7EHT>#P[EI?)M>SC*WF8"[\!PL@9FZ<$TO,S"<1ZR47S0%J[E69EEDM>N
M?C#V@>%M87(OC.?" -=-+U$NZ.1]Y$[M2!W>6_#?,$<\(N<,J8FR;.QZ1E^P
M#4_M.ANER<>,K-+ _TN7&!)FH]QCTN_E>P5F!U\MYC["7?S;O$-%VT?--J;9
M&S?PN%#PA@<]R7@'TH9++$Y WMVAM?8AO(/IQ=?)NX_U//\V^:H'(27:WG8J
M#LH(L4.KG>I2 >3C/GUFN/<O.G%O,QQR[R;3DZ^5>X(?!GYV%:,+;+,<:8^
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
M[QL?OEZ?[6[MS]_;W=YA<0,E'\6E:XU'E%GEDB^7?'F5\FN5?)M^,/'A*>(
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
M__%R6-[N7JU=CD>CR]%F^X]_JZ7%,EL+!("+1^S@E0Q<T9,LPV"R/-2:+J\
MI KD3-<,?\=;AC/NH\/;)T0Q%#HV?CN,X'_P5/!FA1UX8"2$N&OZ$OQ+6&.X
MG5%H(:GW%P#'2JR.4LK'I@U>?G"O*FMKS4JYTE@'N?I?6_^ETJS7*^MKW<MR
MK;)VN=9O]2^[@W+WLM)M5M::Y5Z]T;+E-UY,"C8?HQ'^^'?GM+//?7/5DK7?
M/FAO=_8[!Z>HVRKK_YQ8[W=.-L].3G8.#ZSVP7OX_^V]+R<[)];AEK6U<] ^
MV-QI[UF;AP?O=T[59XX[)V=[I_21PZ/.<1O_</)R:H$/X32!/==WPMZ4A(85
M3L?P07APR!(&Y+N'4M92V ](6NU@:'NRGWC'ZY5(^C@@Q<)I-W3Z#CP O@]4
M"Y]-TUA!BRK6$Z$49DY@^1/!XB*FV6@4")[V'E.O!1]S_/Y=1$R?AA^J_*9P
MY$]=5&/P/E!G!@*$@7'1<X%;T'@?*3PV98?C<?T6D(L[&QBK:PN*'-L5DT 6
M____EX#LT.Y%RJ@Q]BG?725W8BB*C AB#^#-[VQW9L_#&&5NK:+BR.^T'X(G
M8U7*I6KK+\OX&4]HX7@1 ,\XQ 3 G?Q:$N-._?(!:!)Y5Y$_^8T7]>O>\[W4
MESRI90?P$B(C)4-!#8'B^3;UV$H@Z^)OYS\L$9!OIQXH;"=B!;5,5<6"12LM
M-F(\/V+9 W:>CVK0G2*7"S<4,_PEJT!0FI^F8"."-3ZWCL4$;"@+%K(%"IX7
M42D7/]'S_G;,=3UN#6AWDLF&PI$7I!>"&GH:6&W/ P/AKE?OD@#;<M!&8*%$
M)O7,1O/3%7T^,5S026<3O]V>!(XKORZM<^MO_#O23[7\3^)U]+O*/_\I/:<&
MN?/N7\:CVK2G9!,'<^M$6SG'8/4'*#;P]&?P([A<_A7^6W_F!1VPQ:-#K7L4
M.#>P-NN$'1-4E'N.=C+ :@8ZLMH],N$JK58=+?H;\#C0!)3$$-H# ;Y9 ")9
MD@*16T\$Z!GASW@615>>14S<)>L"OW@#BM3N"Y/J%5.AE2OM'^*$GV([HO6Q
M30X/G$@TC30=W[,VM14\) 2F"M5WNL)UQ(THJ _(7V/.IQ>E?VN#B]5S)O#4
M]%\F+MDLB=\Y",K:7W@R+'J\Y GH&(9BX==L8:1_.UOVRU[BEW!G;.R'X$>[
M=H!IK("=-[AM.O.(;1R4A.AT G7=>[U9(?1#D)!WK[.PS*Q$:C,LPM@6+-!1
M=&U4(3X+7S5I@TE FHSX "*5 >$L S>@^P-.;S2%[_>!@EQ_$LMX-CDG/J+R
MXD+ $8=GA?B**;O<\*T>*'>P'#V*%H O"T]EZE[Z5'H"OG,:@H!W7?QJ-/)#
M^9T9&K**.DM6V\6 Q9B_:RP8-YC8&/*V?%\ [Z,  NY 'A%\19W;PD$AQ?;L
M,.*'"'"GZ?.&H8T/ZONHY)2*XS""/A<'%"%+(PQAR'78O>NIPQ?WBJBN.Y>W
M[MFXBP(&>'P7I&$(CW<&#MQV9 5.>,7',O6D1"4A_7<(_C@> P>YZ*C%W,=[
M0(J$;02^^Q\V'X!6QA-Y.$!(<_HT^$8$P@&\W!O9WE!=U70"EW4#+I,/9#.
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
M].PX2KXKY(ZE.ZVN/230!R3$@=/95TK22?(0'EY1?"QIZ[E:?2SIU"3I9"9
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
M0N)[E?_"X)0_HV.MELMUXZO<HR#SLXL]2<FDDP&_R,EDY2NDNO7"D3.(#/.
MK0(\C3O"Q4;J"(LT;9<[//3$*[374@X#/9TV \^-I]"ECBS>J*XNPO-)EV S
M%^,M@&W==^28 -5L)K=+X2%N#6/]%ZNYN"?.1%.P>X$OQP*HI!/I=59!JK-0
M1N/&^&EMF_NRO(9[:N5TJ1AC3)T[O UM>%0.&->7+5MT*G'SB3X".TK7>9;_
M4N=8*Z?*7=2!  -BF8VR, ;3@%T#_52C0 [5A\1=X6P4;# H4NF3++K!?D@J
MK4%]1VRB?4VCBUG",<_-57!#$P7.P#84K.:5216O)H;>3<WEU"%NAMF/S69R
MR\C!3>[,W-A=AY05:83'A.'&Q=K9>]H3=$GL0C4O%3#%0.\)[,>$'#?@4K$<
M#^Y+PQRR76^BQ3CBSH+C2O6O@E6I_44OK=1U]?&#>[J[%MEX*1LR9>KTJ^CY
MB:G!A4MD,$55U5$D#H'/1?OQ"G=9=])2IJT?"\2E"Z3Z<?-"2-YV*9M(R?QD
MTXP=,6H #XC0)3A:@,3G%+OR9A84[5LRWGD[$CB:+4O9YK6D5)57O  H'N_]
M;Z<D2@5=X18/"4B$$-37S/#3?UAB2\N<O2UX$>(F\A[M6RV.=9I3=AUAXH11
M;Q@L@'$E_84T?[98E$HV$K5W&N:!6 ,\ PF186I=F=0UPVZV H%I@02/U0'"
M##/'<K6=UDHVXG87HY$3]$D3ZBL&X3:B3*SCJ9;CKHAF&(D!+=)2S%)3B7AR
MV6/!6+ D@@.6,.FK[5&^BLK!R9 ML$\DJ[AGP/_A!!6\-73]+GV6T;UD>1@9
M+4W5%[50.BAS^222C5BCGD-G3D>)\02PQ,E! $M0&_ %3J\/!L;N5>$H"@[9
M^4A+":8JKF<"!8".4,-/L?V<4SELK2<?JT5*5W JVK7G&*X,U.P6A5$&^HG&
M/9!J=!2&$8V2()*@&F9=,:]"N%0H&D=A%9_TXV)558ZIZP5O!#A#+BX^5GF$
MJ?-=&1C]N6>C%8)E-=.DQ9>B6_1[041,7C 3BQT(/N/=^S0@2G?TZQD@R %R
MM),!C6;@$;*Y>!<<RP-]'0JY3P[RP2?L._UB.W*I!Q=4E3\,[,D(E:?O1Y/
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
M=H::,4%-[J=H Y?5A":*Q-"H8)2]A44IWA.R3R6%U<M5";-$$,8\&7PK*0N
M^82"RJ#0DE$!K!NRTW!>B2VJMPC""(Y?8UMCYY9(,2U_$)T*T:N,3DE58BYH
M*HC,B27+HM"K-Y"@9$])*'1;S*%R:K"B5S >'(.LQ^,_9*D7>;.Q_:61BXPQ
MA3I@E8+AP'.R'4J^$MPT"#[9V1D/5Y(ERJ3D\#KC\0 R<4D"(%( 5[+Y(EQ>
M'@[L&G!,CQ1[$5ZNZKM#A<-RJK+5<L\+0^D36IQVCV<I0:@4"<U5H5YXYQC&
MA5D9ZBA3UD=,X<M-ZM**) HK>:(P3Q2^H-VG8_E<B:HT>XQHG:Y5)Y@+$XDR
M[H+0:&6R4L=G.8[[3\EKGMHC T])MQ3G0Z00_+@.' %?=!$X\D5Q.E$"4$\K
M"J>>PHQ#%4#2C!=%]J7\4]>E+A<&M22(4;0WU-!R7P[WYA1@1/7.2@&/[&",
M.0B4H1JE)C-&O#D4DR2X82OK#&XJ3$'57&!PN1*UFFW8@A'.QV_?,YH.\\:R
MF4F_C*[<J)]> N5!T%K2PR4H4#WLF@LN*6,VQKD5QN"88%F0#R[4]U!Q)$$&
MXTF$,OS!?R;X15+PAF<IVR2P^3;QC#@=!B94-T97]\=6./:OT-CH79GX*"K%
M2IDLM-L74?>C=#.<HJF8GN0RBLO7&LAQ"QP8H*I+.3 K"2TIZ\ZBD?J\,QA0
MX HGWB,!.ZK[5-<+.I$T-W%8 QF$V[K/)$PW17(!-6%4VE><-^-!$V$D)LS^
M/L;)R>2)@=^H+)^-(UV!$,\^D#%:*B'@JC[*)A0E*OD PVWI;/%#4RLN%!8J
M58[>BMZ4X. 5>"I8G-K204]!0PEC,L,FG$%K,@W"J=IX.F@LZ=:(OIF==3)C
M0S0?LX26?MBS(Y2+3*ZEMM717U3=" O0.-I:4ZT%"6#4S(@D<G.!M!@,!3M.
MIYR&5@VB\A*2$]'5%1 RV,#O376,E,2:(NMX5@?=MVQ%EFT=!C1(:+28#C"2
M:1RK.X\-;9GLX&9,S\2J8B@2ZK W8:]]&K^B2Q]X 1H6R_#M#.";^\.LL%,S
M<L*0<SMH-'BQKWQ6VLW,!;/'2&I;IP;C>D(9%:)XF(;/,D&I)-5RQ<B$4RDD
M0^5H/!T64MK=&%L!IBTYS6IB16(6"M:N\#@?T?.'GA/[5;Q&0U(O#"9F]&0.
MZ,$MW(!^0\T%'B()^80X5N#E,K1+FS0X/TSE%O0T#DDBIG=#5HPY%C&D:1*R
MR& Y<)HLOU2*VJP)DGD,<4NU)O'<MSB&R>_"A$I 8Q5IH"1/IDDT.YEY+A6(
MB^<\/8"GPZ,0E>)(IDQTS&HW.]5@>&8[@1..S![+$07)&;.!NROG+(HX:"9E
M$^'QQ!W,"_=$)5"*F5G^8\&,$XQ5<YQ.#VAC>DFCO2:O1'#<5R@8N!R'4FZF
MOJ#(A*S?925&@4B=&EZ.QI>&Y=+(HJ>T7%J&@IN*VWZ=,$E,=GIR]%W4]7=,
M52H G!P-_I_"0L\'9OF(+;_!X8>(P"*AS&3>Q CYQ'9:XNA4$UZZ"R(>TAB7
MA,1F+)ES?!!+R47B_QI6\9*KO/,@8HY)IO_@7SB*"4UF!P''Q<*8S_^PV/-4
M)(L@6#14@ X,RZ(O^=@8!< T"B4*59JVE] U)UGD4Y2=%$_F-8S_^Z(Y&>#^
M-GF(*FA<L-I@15 01_7,"0^^*$2@IJLE]+FV-V(LLL4^B[C$L7.R(<M'^1$6
MMZDUZM;^A66#2BO"16!C-T;^C#"D)&H]")V1/9(3(..^&'EK[[&C ^Q.*7^X
MSXM?F"CATX#A1E6.V94=3P#G)L_8:U[2W"\+WI2[KB:A3G2%J?<@;3 6 '7=
MI?';<7LGX!AXOM<-G#ZP[!'OQ!Q7@3=(XTAN"&Z#QYTY/'B"_#LF>J,F)WDG
M1$CZY'GB+T4\&4B3.R[P.*J--;PWE1$C\'IRF=$KHBN$/W6<8!N#M+H!$DF
MLHO..#1X3J=6ES";//Y>(&O[P*.8RNH3"@_3='3*/F:'KW2<*5HF+Z6-9JB0
M1,5G2G N0UY04\U(]F$SD$VY!_+=0&[[))2T'8T?ZCM#&@K(6;"Y-?)ALQ-"
M(98EIJJ%7&!"*GR<5H]A3<S* YN!0@VS=Y%59&%+''.)Q2<ICWC3L;NLRV%X
M+"^.3:6X5F*T+(VS])=:*+S^$LB&Q68PY!L#=%&G< B0@\9=/ ;_FS%R.-6?
MW (M@(42E3IGQJ/!C<NN"$I(:-^?38=[$(M@)^0(L2UG#N!1)IM")8TA=.*C
M(K6 TD6H840$)(!6 D^$3%>5&D!K?%UDI>J*" +:9>AM5=<@8?X1P@T^.C R
M<ZK/D\,CI)+)3U;A1*-^PI]@D3,82,2/PZG39WCTN-+9_#NA944X>!4(!Q>I
M076,T=1J\901U<4=)M!6W+T C\&5D;;EJEH)II5P^&,%;.;%3Z6'U-,KH\?+
M:NMX&*]IM44S'EEC>P22;>OZ&VE0V8'96V$V%<)*72%+9^/D.=J@)M4LHO3C
M]O!C>"K8Y<JGSDC<+."HT"*BY@<NH(GT*!4F5Q&GW.^GUV6A!5H MBD+FV"-
MB#")*Z3O;8#B2T&R5 N75B-%5\U3='F*[F5+LY:&T72M BLHTZ>,/9)E,]BC
M$?9Y:'!N"F#&;5\H"::4.#$JM&*-9993+!8XRE!X;+HD Z>G#+$X-ZJPC7I6
M/==93[V-AQW&R2+#%I3#_KBH9.1,-#"5GN:S(1OEC'I058& :'##>)&JF"\<
M"<1_G/&A&\.D-3RCR@4F9:D<"L.%-SR40FM_5H?T3P:6,YUL.]1.-E4^Q8"N
M//,$U1JF[*ZGSD1VVAO#QI8H/'AFAF 33T<BH:XTQ#B/E::2N."N:+TQB.:!
M**.IY;F8+U2XY\DJM8 O=B X&,\+(Z!X67:]O+8JL3Y=S934XR?2'F%KUWPV
MF1?8CB=CN3)3P<8QAI<%V^1JF G\/JXDLGL<69;A9_DTU+=3,HTHMZ6S]O:-
M[_0Y9"%[]WQN?"MRXYNFDY)UX'MH4V#FMR"=*'E/TG#'XTC.NGA$*67*Q$ S
MDYK_>>@;EY-)V#<-KR8G!U D5)4D+:M(W62,-;85T?N9JHDSY  Q"!OC7F(
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
MN6"KA*ZR)<*0E6=B>OE"Y>4 K14=&T]T3Z$0ALTGV_QW%LV/C^C/M[$84GY
M+N%8#YB&/VI#91.Q]?'H/PAW@D;HCC:0<3U'$I'^!.U=GEJ 9A8]GI(&DPF&
M("7T*,/74',;BLV4>M2]7MX =+XG$3/T6$<C?-\5<Q]+59_32KJ3)O^GFWCA
MC+_3]=T^DW8?=!1;B"FAF/XKOO(=E5?A3PM_II>\H\ JO)5<?M!,L9]U3(8V
MD91&*(@3':=(>9PQV\<QG*'5H3B]&KFHPFV:U/[GO]W,N*87JHD 0?T$Y<_1
M"82=_EF/ X@%=/#_+)?6RA@OMOJ.2]%.*KTJZ(.(XH,8\T&(I0?!./@JW6FS
MR<^%:'KT'"5&L+".$FQW+7&]U$POL=Y87*+$>O%=[CJVPMX(.-!5[Q=L<<>X
M5(&\[Q_=6"Q,_E90A636@3^,.??_O*-;9Q]7Z772P4B^KCT)Q3OU@WG)#;@I
M>;^H3-!J![F0U+GE2912N(O:,PK46Q6U,)=%?:WN,)[9LUU)/:"%Y2/JU5(9
M+ 9#4<J7*:5IZ#[CX6BGHAQ5RE/]NS@+[,D[MD]F< (/F@7Z[W8WQ/@H\#!8
M"!DP$(QOPA]_R%R0_XWZ]]P VZS_@-<6B2*!\+WS?#P\N6^XEOH+7HLTJ>G%
M"S?TMF\&5M?,;R:+-],LU1KYS63Q9G)IEM6;J92J^<5D\6) F*WG-Y/%F\F%
M659O!H392_HR^<WDTNS5W4PNS;)Z,ZU2+;?-,GDSE=)ZKF>>\V;^&P48U7R:
M"&9F<XO/*K=_=^K[+EHP<SL_># ]W\5?_M\_*N4_?O*4UM;0OY6Q>,DWE<FM
M12DA2V65,G>*=Z?'L.L/\Z'+$E*<R*A5"OR#SD8]K[#+ *']"%WEHN6UBI;[
MF((I?O&_"SR@94KU9T5*JU1?6S&1@BG.)Y(6.>T\0#OKJT<[U9QV?@_M-%>,
M=OZT-@E[.J>?!^GG5T((*T4S?STMS>36K=EHU>L),1B\M,%[W_4?=\X[!V>=
MDR<5&9D[ B4$GH"\L5@E<_O[_3X-UX9DX2 ,UJ=ZOF4W_V3WO_KT7<W@]EZ$
MO->S<1 Y>3\M>6=20^?TG=/W4^Q/^B<9V-]OO59V.K*P[2?U.M(YSQI0[^3)
M&A%^3X\2_O\&O?!(CE&1+54*IN/UQBE>6(0_5#?_.W;]YY-Y$ED24%8MT7&<
MN%IS&Y- 4*T!?,:J5"N%6KG\ZI-&+T[4]Y;HO"*:OK<\[W70=*M<:#2K.4D_
M;Q%M3M._DZ9K0-.5YFK1]!.[#Z_^BFNE)[S@%TIH)"[XKQ5*2*2\@IT[<(^>
MW#W(UBF\H,>0N8-X,O'U*G(2/R71FH6UVMI3*ZTL'-2+<T1&PF7/QA#9C_+^
M#$-4JX5*;3UGB&=R5C)W$#E'/!A_:A2JK=7GB+>5*?D90EBOE1I/[?UDX9C>
M8K="RE<ZQ2$U_G@\]1R%)IV"\LV3*D_C(F6MP/-9_:6L;?:)!>):H5RMK%;
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
MI?40AZL.NAVB(NY'/)+W(Q[C_8CZR,/"Y8WF@](GZ+/?MDMQ*2/(,9B2E-
MG>-;#-:D!481RT(/+<T53\038&+AM?S6@&G_  3 7!?!AVD<? ()^&Z=@:U$
MO)6!F0NC5%HP)CX!*0*[#U(#J&R4@J$"W."GMSDL2:,4M;5 ,W-@LJ/&H2R?
M%>&C6\S@R%==@<Z#P1^Q !$&6>=B_F(Y6-NIH)D),(C'(O#&<$8?X5U(AN33
M\$.8L9_^'PSZ%'@>+<K,(DAL68-').2<7( $\((OE'"V*DF%W$R9#R[2#]=)
M#C'-QWH!L&AQ(! KZP72-H\S'_(@[#F[V; G$5( Q$,<7BBV<D#WX;YB06SF
MM+%7YF 7<E.HB3*>0&>K3(>4'P;K.N!B$%:!QI5?++[A^?"W."ECMB1E:99&
M8%3&W".GKH[FV.\HHBH%4L96Z>T,-\G ']0H"P2-EN')5Y.-P#>H4Y66"TPA
ML MMC)@3#]UJ\.'R&$4<C!W2$>$;O>(&;!NM"2,6X(!(').!"F$R&)%=AL!M
MCQ9"0=8(X I"R_F@:NPGL(8R6/L#Z>.A=96!G4P_Y#3.QZ&2BTB?XW!@#)1
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
MIL=9:GD4]YS=Z.6S_Z#T1FY1YH\+/]A#+PC>G,&PE;3"0B"+ H)*+WRP.AT
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
M^-T<*KT$&F&8I$<&>(9 "LTXP2%:8 *D@5E:8'G23!%Z1O8X1=P!"D-^3VB
MH1R:5(Z%N@%G,<+W27YU20[%43A?Y%SHRLWD3J>$V]*0X5[2ZMG/__R/RBG7
M(L*8,_/*.N6['8HH+OF>.$3+QO#FCRRX9K=)>2%+I]A]_[$(19 RAMVRG.$[
M0_D9*;1 7KPK1B%BY2X8^5CU.IC\CW><YI6\PKM57HY13X^?UTI?E5++"*"!
M)R45G'=,<U::[!>@4F'.T%@1&+OR88KB47>M/T9S4(Q-,)*\<0;>"AWIU$]3
M7H"Q4<1B#W_Q?(A9,$#8$.Y?I-4?*D*H1E[%8A7((1T%_-^-P,F+$F=H!!$H
M!^CFE :CT X_0<<58_3WLQIF%;[DY\(GJ< @=S3 K CC.W@QT9>%MRJR,-R
M^=,$@4O +^%)8 7,()$X9QHE:<E""9;(C:#O0&7.F5.^.Y=GFI8:3!2!!)CR
M$)T:HU.\Z*6S))%E7D+8ZV3&3RIQQ1$X9E$6Z>/CWP"8B5^/CO+A]L,0_<8I
MT<0R/I7^.,0CQ5-QI)C39.1!2:-MFP:>_2+?&$M$..(\!'>%- (1@B'="0-
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
M8W85Q=2GH-"BHHVR6*^)T\<6;$)AU)Z>HK7>E6RM&O-\?"E^B3OA7A8@G7D
M^A7[HE/'E+D3D !0C;Q3YTR(6RQ:28^P?3).,I\VA'4\AE? ="-L-,&Q29&X
M8JEXF: IC!X ![ 1.'4:PGZ@IA&SZZ(O#OR*2A^%PBS%E?<+^\7\@+JYHNHH
MO9FC$?64@0F(7J'"*&"/9NY9.](.U&[:@8IQB5=-.] --&^: QOSW<F$1:2.
M1-B[,_)$S]^R/TN2<AZ@Z? RLEYN-)OQ&/^/)B,5W8W'&0\L@5+W ^S;<CDA
MH)-B5RAZ+[7L03 33XV_,M']A]H%@VU$HQWX9)+@H4L>4NN=6^Q1BAVYP.IA
M[Z)+=-QIU5(ILY>=2\LUR/D<R+_<2L<C/!+V<:/VD" 5>0^@<$W?-R_C.50C
M+[8G!@NQHQ,71CB\58" L/74:54A@G24HB<5&%/7G\T[-#%NN4AL/\A7V69J
ML.IC1VKTXB18\-?\84\0]E9XKZL()3.@[CO7G B O7OR?LTIGR6BRRGP672V
M)DI9QF<TZC<,&Z073TXB\)&2C4KKN\(IX$Q%;R0/^R[YPKF7W5%!U*^(<PFG
MIM3$P2MT8<D$W7?1:?LS-;#^,UH)'L1[9M$U+]YVNS!\,>\I2,8E-B,JNX$B
M;81,C%!$(K=L)$<O1LF18*9T;;(_N[(@(<*5QN&<&LW/)H*/@')R!RQ@-OPR
M]M/<(4IN,M&2_L]HE(!\)B3_248MXCT# "J"QW&&RI%W^BW:^!J7031"5)S%
MLH]5&(5[(,Z^)YM=569<H<#&\.AB^'0"5% 4K^SAZD[ */#P4B :T7\M"/9F
MV0A[LV)(4A! 2/T$X05 TC@K^AY/_ #9&K++ I&7*'6^N1=^L@RQ%'C+G),(
MH4JE$BB 1C:RS[A4,G@N%EHVPMO3 "R"V"=%=(C&E<<AM9F5#>XKJ\(>HS%.
MAHRU;$HI[)CL0ZH /<H,]7_&0<<H"V1?R%)RT40R!,Y>1_$/&:KA<,P#;4PX
M=G<G'"L;>\W@1YA4 " U()F639$3V>%N8:(*^=7>@6C<?0@4T/Q5VJ3:8SYJ
M#4?="[?7[5]T>']\,6HQ^Z+3LKOCT6 P&O8Y(I=G;Y.ZZ$OOV2:U8QD')\?G
MIR>_GU&+U&^G)P>'G[ KJDX]4-<NYA [ZA59"PSJ(%3.8FEWHT $*F@KP5F
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
M&\D<VB%%K[31@.% CFE=FY<Y7!=F0=[!YS@KR7&A\9KH#5A+4I@44!C9FGP
M9</2F)4>S<;1\)?$);0&4909"&!!!36[XXSC)^8F9:-,S<S"O*OH8IP&/=_@
MLE&SDEDPL\7MLQGJ<*>AAFM2$69T?NF;RA05<I)3JM%(XM')>\FX%DZST)2,
M,N$@1L"<429-2N1$-D% 4E#2<R)-G"E38AV%JE:95W&A%>I!#!NV#XTF B;R
M:KOX"AS/4?J=(0JNRPP4G1YO=H[VQ8%;VCE*_)-_E)3B<F]:VI]1J-0L[BU
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
M )6"AE=[,_Q%@Q4  $/8   0              "  0    !A9W@M,C R,S$P
M,S$N>'-D4$L! A0#%     @ E8*&5RQOEI2B$0  R_$  !0
M ( !L14  &%G>"TR,#(S,3 S,5]C86PN>&UL4$L! A0#%     @ E8*&5\5)
MDI1A+P  1\@" !0              ( !A2<  &%G>"TR,#(S,3 S,5]D968N
M>&UL4$L! A0#%     @ E8*&5R310:<7=P  S\L& !0              ( !
M&%<  &%G>"TR,#(S,3 S,5]L86(N>&UL4$L! A0#%     @ E8*&5]-, -Y\
M30  ;WL% !0              ( !8<X  &%G>"TR,#(S,3 S,5]P<F4N>&UL
M4$L! A0#%     @ E8*&5TT&D9UKJ@( )^0@ !0              ( !#QP!
M &%G>"TR,#(S,3 S,7@Q,'$N:'1M4$L! A0#%     @ E8*&5\[^M$:-#0
M(PX  !<              ( !K,8# &%G>"TR,#(S,3 S,7@Q,'$P,#$N:G!G
M4$L! A0#%     @ E8*&5ZQ=;=6)"   C24  !<              ( !;M0#
M &%G>"TR,#(S,3 S,7AE>#,Q9#$N:'1M4$L! A0#%     @ E8*&5_=>RPV\
M"   PB4  !<              ( !+-T# &%G>"TR,#(S,3 S,7AE>#,Q9#(N
M:'1M4$L! A0#%     @ E8*&5_)%G_Z?!0  FA@  !<              ( !
M'>8# &%G>"TR,#(S,3 S,7AE>#,R9#$N:'1M4$L! A0#%     @ E8*&5] 4
MZA#9!0  !QD  !<              ( !\>L# &%G>"TR,#(S,3 S,7AE>#,R
<9#(N:'1M4$L%!@     +  L X0(  /_Q P    $!

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
